增强VB列表框功能两例 李志龙 2001年 50期 我们在建立文本管理数据库时,会用到列表框控件。然而,列表框功能较为单一,它只是静态列表显示项目。在项目内容很多时,要想找到目标项目,需多次按动滚动条按钮,很不方便。其实,我们只要增加一些辅助手段,添加若干行代码,就能够改变以上状况,实现按关键字多项查找,或是列表项目自行移动,不需用户干预,使查找轻松方便,大大增强列表框功能。   #1给列表框增加项目查找功能   新建工程,在窗体上增加一个列表框、一个文本框,并设置列表框属性:multiselect=1,添加部分代码:   Private Sub Form_Load()   Dim filenum%, catalog$(99), i%   ChDir App.Path   ChDrive App.Path   FileName$=“content.txt” '文本文件中含有多条列表框项目   filenum = FreeFile   Open FileName$ For Input As #filenum   Do While Not EOF(filenum)   Line Input #filenum,catalog(i)   If catalog(i)<> “” Then   List1.AddItem catalog(i) '追加列表框项目   End If   i = i + 1   Loop   Close #filenum   End Sub   Private Sub Text1_KeyPress(KeyAscii As Integer)   Dim keyword$,listitem$   Dim locality%   If KeyAscii = 13 Then '回车查找   keyword = RTrimLTrim(Text1.Text)   For i = 0 To List1.ListCount - 1   listitem = List1.List(i)   locality = InStr(listitem, keyword)   If locality <> 0 Then   List1.Selected(i) = True   End If   Next   End If   End Sub   #1增加列表框项目自动移动功能   在上例中,去掉文本框,增加一个计时器,设置计时器属性:enabled=false,interval=400;设置列表框属性:multiselect=0。添加有关代码:   Dim n%   Private Sub Form_Load   …   n = 1   End Sub   Private Sub List1_Click()'单击列表框项目,焦点自动移动   Timer1.Enabled = True   End Sub   Private Sub List1_DblClick()'双击后焦点停止移动并执行命令   Timer1.Enabled = False   Print “sample”   End Sub   Private Sub Timer1_Timer()   List1.ListIndex = List1.ListIndex + n '焦点上、下移动   If List1.ListIndex = List1.ListCount - 1 Then n = -1   If List1.ListIndex = 0 Then n = 1   End Sub