首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

不需要api的简易型自动完成实例,该怎么解决

2012-05-04 
不需要api的简易型自动完成实例这个例子就是有一点缺陷:下拉列表的高度不好控制。添加2个listbox,一个textb

不需要api的简易型自动完成实例
这个例子就是有一点缺陷:下拉列表的高度不好控制。

添加2个listbox,一个textbox。其中list1放在text1下面,紧贴。

以下是代码:

VB code
Private Sub Form_Load()List1.Visible = FalseList2.Visible = FalseText1.Text = ""List2.AddItem "adljfdfjl"List2.AddItem "adljfdfj"List2.AddItem "adljf"List2.AddItem "jfdfjl"List2.AddItem "jfdf"List2.AddItem "jf"List2.AddItem "fdfjl"List2.AddItem "fd"List2.AddItem "fdfl"List2.AddItem "中过大大的"List2.AddItem "中国人"List2.AddItem "中国"End SubPrivate Sub list1_Mouseup(Button As Integer, Shift As Integer, X As Single, Y As Single)    If Button = 1 Then Call List1_KeyPress(vbKeyLButton)End SubPrivate Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)    If List1.ListCount <> 0 Then        If KeyCode = vbKeyUp Or KeyCode = vbKeyDown Then List1.SetFocus: SendKeys "{UP}"    End IfEnd SubPrivate Sub List1_KeyPress(KeyAscii As Integer)Select Case KeyAscii    Case vbKeyLButton, vbKeyReturn, vbKeySpace        Text1.Text = List1.Text        List1.Clear        List1.Visible = FalseEnd SelectEnd SubPrivate Sub text1_Change()Dim i As ByteIf Text1.Text <> "" Then    List1.Clear    For i = 0 To List2.ListCount        If InStr(List2.List(i), Text1.Text) = 1 Then List1.AddItem List2.List(i)    Next    List1.Visible = True    List1.Height = 300 + List1.ListCount * List1.FontSize * 12    If List1.ListCount = 0 Then List1.Visible = FalseElse    List1.Visible = FalseEnd IfEnd Sub


[解决办法]
板凳 + 1
[解决办法]
up
[解决办法]
可以考虑封装成控件
年后第一顶!
[解决办法]
up
[解决办法]

[解决办法]

up
[解决办法]
up up
[解决办法]

[解决办法]
不错,有创意。
[解决办法]
探讨
不错,有创意。

[解决办法]
顶一个吧~~~~~~~~~~~~~~~~~~~~~~~~

热点排行