C# ComboBox自动完成功能的示例
2011-11-03 01:18
204 查看
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 值(未证实)。
————————————————————————————————————
————————————————————————————————————
说明:当设置了DataSource 属性后,SelectedValue 属性值会默认为第一行,因此,如果不希望ComboBox自动选择第一行,还需在设置完DataSource 后自行将SelectedValue 设为“”。
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 设为“”。
————————————————————————————————————
也可使用 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。
相关文章推荐
- C# ComboBox自动完成功能的示例
- C# ComboBox自动完成功能的例子
- C# ComboBox自动完成功能的示例
- C# ComboBox自动完成功能的示例
- C# ComboBox自动完成功能的示例
- C#安卓自学示例(2)自动完成功能
- editplus配置自动完成功能 + 使用感想
- Ajax实现文本框的自动完成功能
- QScrollArea 自动完成滚动条的功能
- jQuery.Autocomplete实现自动完成功能(详解)
- 关闭outlook的自动完成功能
- ATLAS自动完成功能
- wxpython comboBox 自动完成提示功能
- Asp.net 2.0 自定义控件开发[实现自动计算功能(AutoComputeControl)][示例代码下载]
- Asp.net 2.0 自定义控件开发[实现自动计算功能(AutoComputeControl)][示例代码下载]
- AngularJS 实现的输入自动完成补充功能
- 为WinForm combox控件增加自动完成功能
- 让输入框关闭自动完成(AutoComplete)功能
- jQuery autocomplate 自扩展插件、自动完成示例代码