winform实现类似google的搜索提示Suggest Search
2012-08-31 21:52
746 查看
由于最近项目需要用到类似google的搜索提示,在网上找了一些资料,现将具体实现方法记录:
主要使用的是textbox的AutoCompleteMode属性。
注意:AutoCompleteMode有Append,None,Suggest,SuggestAppend四种属性:
Append就是把第一个相似的项追加到你输入字符的后面
None就是不做任何提示
Suggest就是把相似的项用列表的方法显示在下面
SuggestAppend就是把第一个相似的项加到你输入字符的后面并在下面用列表显示所有相似的项
AutoCompleteCustomSource属性的使用是可选的,但必须将 AutoCompleteSource 属性设置为CustomSource后才能使用AutoCompleteCustomSource.
AutoCompleteMode 和 AutoCompleteSource 属性必须一起使用。
首先在窗体中有两个控件:
textbox用于搜索;treeview用于存放需要搜索的数据源。
定义变量List<string> lstNodes = new List<string>();用于存放树节点内容
定义变量TreeNode preNode;用于存放树的前一节点
在form_load事件里添加下面的代码:
定位树节点方法:
在textbox的KeyUp事件里面调用定义树节点方法。至此大功告成。
结果如截图:
![](http://pic002.cnblogs.com/images/2012/143406/2012083121504629.jpg)
主要使用的是textbox的AutoCompleteMode属性。
注意:AutoCompleteMode有Append,None,Suggest,SuggestAppend四种属性:
Append就是把第一个相似的项追加到你输入字符的后面
None就是不做任何提示
Suggest就是把相似的项用列表的方法显示在下面
SuggestAppend就是把第一个相似的项加到你输入字符的后面并在下面用列表显示所有相似的项
AutoCompleteCustomSource属性的使用是可选的,但必须将 AutoCompleteSource 属性设置为CustomSource后才能使用AutoCompleteCustomSource.
AutoCompleteMode 和 AutoCompleteSource 属性必须一起使用。
首先在窗体中有两个控件:
textbox用于搜索;treeview用于存放需要搜索的数据源。
定义变量List<string> lstNodes = new List<string>();用于存放树节点内容
定义变量TreeNode preNode;用于存放树的前一节点
在form_load事件里添加下面的代码:
GetTreeViewNode(treeView1.Nodes);//遍历树的所有节点 tbsearch.AutoCompleteCustomSource.AddRange(lstNodes.ToArray()); tbsearch.AutoCompleteMode = AutoCompleteMode.SuggestAppend; tbsearch.AutoCompleteSource = AutoCompleteSource.CustomSource;
遍历树的所有节点方法:
void GetTreeViewNode(TreeNodeCollection node) { foreach (TreeNode TNode in node) { lstNodes.Add(TNode.Text); GetTreeViewNode(TNode.Nodes); } }
定位树节点方法:
void LocateTreeViewNode(TreeNodeCollection node,string nodeText) { foreach (TreeNode TNode in node) { if (TNode.Text == nodeText) { if (preNode != null) { preNode.BackColor = Color.Transparent; preNode.ForeColor = Color.Black; } TNode.BackColor = Color.Blue; TNode.ForeColor = Color.White; tvSource.SelectedNode = TNode; preNode = TNode; return; } LocateTreeViewNode(TNode.Nodes,nodeText); } }
在textbox的KeyUp事件里面调用定义树节点方法。至此大功告成。
结果如截图:
![](http://pic002.cnblogs.com/images/2012/143406/2012083121504629.jpg)
相关文章推荐
- 在Winfrom下实现类似百度、Google搜索自能提示功能
- 实现类似google搜索效果,文本框输入智能提示,没有用ajax控件和第三方控件,完全手写代码
- 实现类似google搜索效果,文本框输入智能提示,(经过改进 支持多个文本框的效果)
- AJAX实例二:实现类似Google的搜索提示【原著】
- AJAX实例二:实现类似Google的搜索提示【原著】
- AJAX实现类似Google搜索提示的基础配置
- 在Winfrom下实现类似百度、Google搜索自能提示功能
- winform编程textBox控件实现google搜索的自动完成功能
- ajax Suggest类似google的搜索提示效果
- QT中实现类似网页搜索的自动出现下拉提示
- easyUI实现类似搜索框关键词自动提示功能示例代码
- 类似GOOGLE实现下拉框列表提示
- 利用SuggestFrameWork开发类似Google搜索提示效果
- [Flex]类似Google搜索提示的两种做法
- ASP+AJAX做类似google的搜索提示
- jquery+MVC 实现類似baidu,google搜索 提示下拉框
- JS实现输入框类似百度搜索的智能提示效果
- Winform实现百度搜索框智能提示功能( C# )
- 搜索功能提示(类似google和baidu)
- WinForm"搜索提示效果(不错的)实现" 之 配餐系统的开发