首页 新闻 会员 周边

C# winform中combox自动匹配

0
悬赏园豆:10 [已解决问题] 解决于 2013-05-03 14:19

C# winform中combox输入字符(汉字,英文,数字),下拉框自动匹配出输入的字符的选项,且不分字符顺序.

C#
金虹巴巴的主页 金虹巴巴 | 初学一级 | 园豆:123
提问于:2013-01-24 10:39
< >
分享
最佳答案
0

this.cmbCategory.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
this.cmbCategory.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
this.cmbCategory.DropDownStyle = ComboBoxStyle.DropDown;
this.cmbCategory.Tag = new List<string>(gridStyle.ColumnDatas.FirstOrDefault(o => o.Name == "StartingStation").Dependency.FirstOrDefault(o => o.Name == "Category").Values);
this.cmbCategory.Items.AddRange(((List<string>)this.cmbCategory.Tag).ToArray());

收获园豆:10
Launcher | 高人七级 |园豆:45045 | 2013-01-24 10:43

您好  :

     谢谢您好的帮助,我有如下问题:

this.cmbCategory.Tag = new List<string>(gridStyle.ColumnDatas.FirstOrDefault(o => o.Name == "StartingStation").Dependency.FirstOrDefault(o => o.Name == "Category").Values);

这句当中的gridStyle是从哪引用的?

金虹巴巴 | 园豆:123 (初学一级) | 2013-01-24 11:09

@furenjian: 我随便从我的代码中摘取了一行:

this.cmbCategory.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
this.cmbCategory.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
this.cmbCategory.DropDownStyle = ComboBoxStyle.DropDown;

这些代码是你要设置的,然后你需要指定候选列表的数据是什么:

this.cmbCategory.Items.AddRange(new string[]{"dfd","d","df","df"});

也就是说你启用了AutoCompleteMode后,你输入字符时,它会自动从 this.cmbCategory.Items 去寻找匹配的项目。

Launcher | 园豆:45045 (高人七级) | 2013-01-24 11:14

@Launcher: 

  您好,谢谢。我combox绑定的是数据库datasource,字母和数字能自动匹配,汉字还不行.

金虹巴巴 | 园豆:123 (初学一级) | 2013-01-24 12:48

@furenjian: 汉字也可以,this.cmbCategory.Items.AddRange(new string[]{"中文","d","df","df"}); 匹配不是从绑定源读取的,是从 Items 中读取的。

Launcher | 园豆:45045 (高人七级) | 2013-01-24 13:07
其他回答(1)
0

给combox加键盘事件

Rich.T | 园豆:3440 (老鸟四级) | 2013-01-24 10:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册