コンボボックスにオートコンプリート機能があり、正常に動作しますが、問題はほとんどありません。テキストの長さが3文字を超える場合に候補リストを表示しましたが、リストは4文字の長さの後に表示されます(ユーザーが5文字を入力した場合)。テキストの)これは、リストが最初に実行されたときにリストがここに表示されない場合は、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では(場合によっては)アプリケーションが終了しますが、Windows7では影響しません。