在Win32的时代,要想让 ComboBox 具有自动完成的功能,还必须得借助 Windows Api,而且,如果实现IE地址栏信息的自动完成,更是大费周章啊
而在.NET里面,这些问题,都变得轻而易举了,因为.NET都封装好了这些固有的功能。
下面,我们举一个 ComboBox 自动完成的例子:
代码,更是超级的简单:
DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.Columns.Add("VV"); dt.Rows.Add(new string[] { "王一", "x" }); dt.Rows.Add(new string[] { "赵一", "z" }); dt.Rows.Add(new string[] { "王二", "y" }); dt.Rows.Add(new string[] { "赵二", "w" }); this.comboBox1.DataSource = dt; this.comboBox1.DisplayMember = "Name"; this.comboBox1.ValueMember = "VV"; this.comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems; this.comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
上面的 AutoCompleteSource 是大家应该关注的一点,具体的值有9种选择,其中8种是可以研究一下的
http://www.zu14.cn/2009/06/23/csharp-combobox-autocomplete-sample/