- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
comboBox输入自动提示(仿ie地址栏)C#
comboBox输入自动提示(仿ie地址栏)C#
最近在做项目的时候,需要使用comboBox实现类似ie下拉列表一样的功能! 最直接的思路是监听comboBox的textChanged事件,当事件发生时,从数据(我是用arrayList暂存数据的)中匹配出符合的字符串,然后添加到comboBox的下拉列表中。
1:如何在textChanged显示下拉列表,因为显示下拉列表一般是用户点击下拉的箭头显示的,后来使用 comboBox1.DroppedDown = true; 可以显示下拉列表的内容。
2:向下拉列表添加内容: comboBox1.Items.Add(str); 使用此语句可以添加str到下拉列表中
3:删除下拉列表的内容? 因为当comboBox的text改变时,原来匹配的下来列表中的内容可能不再匹配,这样我的思路是每次text改变时将下拉列表内容全部删除,然后再重新遍历集合,将匹配的内容重新添加到下拉列表里: comboBox1.Items.Clear(); 可是这个语句会出现一个问题,就是text中的光标会自动跑到最左端: 这样,这条思路没有继续下去,而且发现这样实现有时候鼠标会丢失光标,感觉很不好!
4:后来查到comboBox和textBox支持内置的搜索提示功能,在form的InitializeComponent()中添加如下语句:
boBox1.AutoCompleteCustomSource.AddRange(new string[] { 9, 0, 0, 1 });
boBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
boBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;
其中boBox1.AutoCompleteCustomSource.AddRange(new string[] { 9, 0, 0, 1 });是将数据添加到搜索范围
boBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
是设定comboBox完成内置的搜索,默认是None,还有Append,和SuggestAppend属性,除了默认的None都可以实现搜索提示的功能,只是外观有所不同而已
boBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;制定搜索范围,由于在此我是选用new string[] { 9, 0, 0, 1 }作为自己的搜索范围,所以定义为CustomSource
System.Windows.Forms.AutoCompleteSource还有个Allurl属性,如果将代码改为
boBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; boBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.Allurl;
这样该comboBox可以实现同ie下拉列表一样的功能,其他的属性如AllSystemSources可以自己尝试,这样就完成了comboBox的搜索提示功能。
能不能共享一下代码。谢谢 。我的EMAIL:panjun11@163.com
#2楼 2009-12-11 15:54 Longkin
boBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.Allurl;
如果comboBox1有数据源,可以直接用AutoCompleteSource.ListItems;
支持(0)反对(0)
#3楼 2009-12-11 15:56 Longkin
还有建议用这个 AutoCompleteMode.SuggestAppend;
效果稍微好点
支持(0)反对(0)
#4楼 2010-01-26 17:09 张磊 Larry.Zhang
能否像DropDownWidth一样修改提示框的宽度
我找不到类似属性
支持(0)反对(0)
#5楼 2012-01-31 14:17 mo_mo_mo
@Longkin
正解,把你的两条意见实施了,效果不错!
感谢楼主,感谢Longkin !
C#中ComboBox下拉选中一个后,下面的textbo
原创力文档


文档评论(0)