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