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种是可以研究一下的

————————————————————————————————

DisplayMember ValueMember 属性的区别

DisplayMember绑定的是需显示的字段

ValueMember绑定的是对应的值

//*

所对应的值就是一条记录里面有标识列ID(唯一)有显示的列(如名称,可重复)

ValueMember 可以成为名称,也可成为ID 但是一般来说都只绑定ID 这样好处理,也很方便识别,

DisplayMember 是绑定显示的数据如:北京

一般 DisplayMember是显示给客户看的,ValueMember 是绑定处理程序标识给程序员看的。当然要看具体需求了

*//

combobox控件显示的是DisplayMember 绑定的字段,也就是说用控件的text属性取的值是DisplayMember 绑定的字段。

而用combo.SelectedValue就可以取得选中项的ValueMember 值(未证实)。

————————————————————————————————————

SelectedValue 属性:获取或设置由 ValueMember 属性指定的成员属性的值。类型:System.Object,包含由 ValueMember 属性指定的数据源成员的值的对象。

用法:textBox1.Text = ListBox1.SelectedValue.ToString();

————————————————————————————————————

说明:当设置了DataSource 属性后,SelectedValue 属性值会默认为第一行,因此,如果不希望ComboBox自动选择第一行,还需在设置完DataSource 后自行将SelectedValue 设为“”。(根据SelectedValue的值类型设置,如果是字符就设置“”,如果是数值可设置为0

————————————————————————————————————

也可使用 combox.Items.Add(items的内容”);方法来插入字段。

————————————————————————————————————

AutoCompleteMode 属性

获取或设置控制自动完成如何作用于combobox的选项。即自动完成的形式。

其取值范围:

None   禁用 ComboBox TextBox 控件的自动完成功能。

Suggest 显示与编辑控件关联的辅助下拉列表。此下拉列表填充了一个或多个建议完成字符串。

Append 将最可能的候选字符串的其余部分追加到现有的字符,并突出显示追加的字符。

SuggestAppend 同时应用 Suggest Append 选项。既显示下拉列表,也自动追加文字。

————————————————————————————————————

AutoCompleteSource 属性

获取或设置一个值,该值指定用于自动完成的完成字符串的源,指定自动完成的源。

其取值范围:

FileSystem 将文件系统指定为源。

HistoryList 包括历史记录列表中的统一资源定位器 (URL)

RecentlyUsedList 包括最近使用的 URL 列表中的统一资源定位器 (URL)

AllUrl HistoryList RecentlyUsedList 的等效项指定为源。

AllSystemSources FileSystem AllUrl 的等效项指定为源。当 AutoCompleteMode 已设置为某个值,而不是默认值时,此即为默认值。

FileSystemDirectories 指定仅自动完成目录名而不自动完成文件名。

CustomSource 将内置 AutoCompleteStringCollection 中的字符串指定为源

None 指定当前没有使用任何 AutoCompleteSource。这是 AutoCompleteSource 的默认值。

ListItems 指定 ComboBox 的项表示源。

————————————————————————————————————

尽管上述的自动完成功能基本可以满足日常用途,但我希望自动完成能模糊的自动匹配所输入文字之前的部分,例如“中国北京大学”,只要输入“北京”就能找出来。但上述方法只能实现输入“中国”后,自动补全后面部分,或显示所有以“中国”为开头的Items