文本框中的Vb.net + AutoComplete

Ken*_*nes 4 vb.net textbox autocomplete

所以我在VB.NET中阅读了一些关于文本框自动完成的内容,但我真的不明白它们存储在哪里?它是一个完全内置的功能,还是我必须编写一些代码才能工作?我发现AutoCompleteModeAutoCompleteSource文本框的属性.但我想将我在文本框中写的任何内容附加到自动完成源.我将源连接到My.Settings什么东西?我不也必须使用数组吗?任何帮助,将不胜感激 :)

sta*_*ica 5

你必须手动为你的自动完成数据源添加新的条目...这是有意义的,当你想到它时:Windows Forms如何知道什么时候应该将新条目添加到建议列表中以及何时输入的文字只是暂时的?

您可以添加新值,例如,当输入字段的验证发生时,或者当用户按下确定/应用按钮时,或者最适合您需要的任何内容时.但你必须自己做.

您已经发现的属性是正确的.

Dim suggestions As New List(Of String)
suggestions.Add("Abba")
suggestions.Add("Nirvana")
suggestions.Add("Rolling Stones")
...
textBox.AutoCompleteSource = suggestions
Run Code Online (Sandbox Code Playgroud)

AutoCompleteSource几乎可以绑定任何东西; 这与数据绑定非常相似.要记住的一件事是,如果要向自动完成数据源添加新条目,则UI控件可能不会立即注意到您的数据源是否未实现该INotifyCollectionChanged接口.