我在组合框中有自动完成功能,它可以正常工作但几乎没有问题,我让建议列表出现在文本长度超过 3 个字符的情况下,但列表出现在 4 个字符的长度之后(当用户输入第五个字符时的文本)这意味着当列表第一次执行的代码没有出现在此处时是Text_Changed
事件中的代码
Private Sub TxtItem_TextChanged(sender As System.Object, e As System.EventArgs) Handles TxtItem.TextChanged
If Trim(TxtItem.Text) <> "" And Trim(TxtItem.Text).Length > 3 Then
'Autocomplete
Dim Bl As New ItemBL
Dim suggestions = Bl.DisplayLikeNameList(Trim(TxtItem.Text))
Dim MySource As New AutoCompleteStringCollection()
MySource.AddRange(suggestions.ToArray)
With TxtItem
.AutoCompleteMode = AutoCompleteMode.Suggest
.AutoCompleteSource = AutoCompleteSource.CustomSource
.AutoCompleteCustomSource = MySource
End With
TxtItem.Select(TxtItem.Text.Length, 0)
Exit Sub
Else
TxtItem.AutoCompleteMode = AutoCompleteMode.None
End If
End Sub
注意:此问题会导致应用程序在 Windows XP 上退出(有时),但不会影响 Windows 7