问题:Winform开发中,有一个TextBox控件用以输入姓名,现希望在输入名字时能够自动提示所有可能的名字。
解答:winform中的TextBox控件含有如下三个属性:
① AutoCompleteMode:自动提示与补全的方式,具体方式参见AutoCompleteMode枚举;
② AutoCompleteSource:自动提示与补全所使用的字符串源,具体设置参见AutoCompleteSource,当值设置为CustomSource时需要设置第③个属性;
③ AutoCompleteCustomSource:自定义的自动提示与补全所使用的字符串源。
只要适当地设置上面3个属性即可解决问题。
1
2
3
4
|
this .textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend; this .textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource; string [] names = new string [] { "张三丰" , "独孤求败" , "风清扬" , "扫地僧" }; this .textBox1.AutoCompleteCustomSource.AddRange(names); |
上述操作对于ComboBox控件同样适用。
思考:如果ComboBox使用其Items属性(即下拉列表)作为字符串源,该如何设置?
参考:
1
2
3
4
|
string [] names = new string [] { "张三丰" , "独孤求败" , "风清扬" , "扫地僧" }; this .comboBox1.Items.AddRange(names); this .comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend; this .comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems; |
文章同步更新:http://www.motyer.cn/Files/BlogDetails/winform-textbox-autocomplete.html