问题:Winform开发中,有一个TextBox控件用以输入姓名,现希望在输入名字时能够自动提示所有可能的名字。

Winform中TextBox控件开启自动提示补全功能-LMLPHP

  解答: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);

  Winform中TextBox控件开启自动提示补全功能-LMLPHP

  上述操作对于ComboBox控件同样适用。

  思考:如果ComboBox使用其Items属性(即下拉列表)作为字符串源,该如何设置?

  考:

string[] names = new string[] { "张三丰", "独孤求败", "风清扬", "扫地僧" };
this.comboBox1.Items.AddRange(names);
this.comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
this.comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;

  Winform中TextBox控件开启自动提示补全功能-LMLPHP

  文章同步更新:http://www.motyer.cn/Files/BlogDetails/winform-textbox-autocomplete.html

05-02 00:54