1
我有組合框中的自動完成功能,它工作正常,但沒有什麼問題,我提出的建議列表出現文字長度超過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
它導致應用程序退出? * –
有時當用戶輸入文本時更多3個字符應用程序退出,不顯示異常消息或其他內容,只是退出 –
不要在事件處理程序中更改AutoCompleteMode,它具有許多副作用。如果您不想顯示任何內容,請確保源代碼爲空。 –