2014-10-07 139 views
0

我正在构建一个程序来管理我的视觉基本DVD集合(8) 我将文件读入listbox1,其中包含我所有的数据,其格式如下: (DVD标题)(4位) 房子闹鬼Hill1049 行尸走肉(第一季光盘1)2022 夜的生活Dead2044 黎明的Dead3011 我吐在你的Grave1010颜色基于另一个列表框值的一个列表框

我搜索ListBox1的任何比赛(减最后4个数字) 将匹配的标题放入listbox2并将4位数字放入listbox3 我想为listbox2中的项目着色,其中在listbox2中找到“3”。

如果我把4位数字放在标题中,我可以使用此处找到的代码更改颜色。

,所以如果我要寻找的“死”,我会得到在listbox2 行尸走肉(第一季光盘1)(这是黑色的,因为它不与3日开始) 夜活死人(这是黑色,因为它不是以3) 死亡黎明(这个项目将是绿色的,因为listbox3的值是3011

Private Sub ListBox1_DrawItem(sender As System.Object,e As System.Windows。 Forms.DrawItemEventArgs)处理ListBox1.DrawItem e.DrawBackground()

If ListBox1.Items(e.Index).ToString() = "herp" Then 

    e.Graphics.FillRectangle(Brushes.LightGreen, e.Bounds) 
End If 
e.Graphics.DrawString(ListBox1.Items(e.Index).ToString(), e.Font, Brushes.Black, New System.Drawing.PointF(e.Bounds.X, e.Bounds.Y)) 
e.DrawFocusRectangle() 

End Sub

上面的代码我发现在这个网站上,但我找不到如何使用两个列表框。

对不起我那可怜的解释 - 我只是用Visual Basic玩 - 我的学校我学会了FORTRAN,COBOL和RPGII

回答

0

我不停地跟IF语句搞乱 - 发现我可以引用其他列表框,并能以影响有问题的列表框。

如果MID(ListBox3.Items(e.Index)的ToString(),1,1)= “3” 然后

这样,它只能看着四个数字的第一个数字,并且如果它击中可能与仅包含dvd标题的列表框相匹配。