支持拼音检索的TxtBox扩展控件.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
支持拼音检索的TxtBox扩展控件

最近因项目中要用,于是就扩展了TextBox实现输入汉字首字母简单查询。控件扩展代码很简单。但是刚开始,一直没有找到扩展入口,始终无法展现下拉框。先想通过AutoCompleteCustomSource属性改变来实现,但最终没法扩展。后又想到ComboBox但是,也不好控制。经过一天的思考后决定用TextBox + ListBox组合扩展(主要为继承至TextBox和持有ListBox; 效果先上: ? 最要实现代码有: 类原型public class SpellSearchBoxEx : TextBox { private ListBox searchList; ..... 1: ? SpellSearchSource :查询数据源(汉字) 事件的绑定和选择全在属性里; public string[] SpellSearchSource ??????? { ??????????? get { return source; } ??????????? set ??????????? { ??????????????? if (value != null) ???????? ???????{ ??????????????????? source = value; ??????????????????? InitSourceSpell();//实现数据转化为相应拼音并存储; ??????????????????? TextChanged += new EventHandler(SpellSearchBoxEx_TextChanged); ??????????????????? LostFocus += new EventHandler(SpellSearchBoxEx_LostFocus); // searchList是一个ListBox,它用来显示下拉框; ??????????????????? searchList.KeyDown += new KeyEventHandler(searchList_KeyDown); ??????????????????? searchList.Click += new EventHandler(searchList_Click); ??????????????????? searchList.MouseMove += new MouseEventHandler(searchList_MouseMove); ??????????????? } ? ??????????? } ??????? } ? 2:TextChanged事件代码 ? ?protected virtual void SpellSearchBoxEx_TextChanged(object sender, EventArgs e) ??????? { ??????????? searchList.Items.Clear(); ??????????? string str = this.Text; ??????????? foreach (string var in spellList) ??????????? { ??????????????? if (SearchMode == SearchMode.Contains) ??????????????? { ??????????????????? if (var.IndexOf(str.ToUpper()) != -1) ??????????????????? { ??????????????????????? searchList.Items.Add(source[spellList.IndexOf(var)]); ??????????????????? } ??????????????? } ??????????????? else ??????????????? { ??????????????????? if (var.ToUpper().StartsWith(str.ToUpper())) ??????????????????? { ??????????????????????? for (int i = 0; i spellList.Count; i++) ??????????????????????? { ??????????????????????????? if (spellList[i].Equals(var) !searchList.Items.Contains(source[i])) ??????????????????????????? { ??????????????????????????????? searchList.Items.Add(

文档评论(0)

elouwn + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档