У меня есть полная функциональность в поле со списком, она работает правильно, но есть небольшая проблема, я сделал список предложений для длины текста более 3 символов, но список появляется после длины 4 символа (когда пользователь вводит пятый символ текста), что означает, когда код выполняется в первый раз список не появляется здесь код в Text_Changed
EventАвтоматическое заполнение форм форм ComboBox
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 в обработчике событий, который имеет много побочных эффектов. Просто убедитесь, что источник пуст, если вы не хотите отображать что-либо. –