原文地址:http://blog.csdn.net/remember_me/article/details/6455051
用了百度很多年了,发现百度有智能提示功能貌似是在08年的时候。这个功能确实不错,很长一段时间没有发现百度在自己的搜索上提供更实用的功能了。这也勉强算一个吧。
发现了这个功能以后,我相信很多人应该和我一样,总想着用程序去实现他~~嘿嘿。
"用DIV+CSS准没错!"
"一个下拉列表就解决了!"
…………
…………
…………
很多种解决办法。
但是最近一段时间,我又找到了一种更为方便的方法。
在TextBox控件上作文章,设置一下其三种属性就欧克了。哈哈,来看一下吧。
一、AutoCompleteSource
获取或设置一个值,该值指定用于自动完成的完成字符串的源。也可以说是,指定用于自动完成的完成字符串的来源方式。其默认的属性值为None。但是在这里,我们要指定为CustomSource。它当然还有别的属性值,这里就不介绍了。先生们女士们可以自行调查。
二、AutoCompleteMode
获取或设置控制自动完成如何作用于TextBox控件,下面,分别介绍一下它的属性值,也就是智能提示功能的展现方式。
Append
将最可能的候选字符串的其余部分追加到现有的字符,并突出显示追加的字符。
Suggest
显示与编辑控件关联的辅助下拉列表。此下拉列表填充了一个或多个建议完成字符串。
SuggestAppend
Suggest模式与Append模式的结合
None
默认属性。
三、AutoCompleteCustomSource
获取或设置在AutoCompleteSource属性设置为CustomSource时使用的自定义的集合。
可以利用其Add()方法添加供匹配的项。
使用AutoCompleteCustomSource、AutoCompleteSource和AutoCompleteMode属性创建一个TextBox控件,它通过将所输入的前缀和所维护的源中的所有字符串的字符串进行比较来自动完成输入字符串。这对于频繁的有URL,地址,命令来说的TextBox控件是很有用的。
值得注意的是:
必须将AutoCompleteSource设置为CustomSource后,才可以使用AutoCustomSource。
AutoCompleteMode必须和AutoCompleteSource一起来使用。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 百度搜索框效果
{
public partial class Demo : Form
{
public Demo()
{
InitializeComponent();
}
private void Demo_Load(object sender, EventArgs e)
{
//将TextBox的AutoCompleteSource属性指定为CustomSource,也就是自定义数据源
this.txtDemo.AutoCompleteSource = AutoCompleteSource.CustomSource;
//设置自动搜索的模式,有好几种,可以分别研究一下,这里使用Suggest模式
this.txtDemo.AutoCompleteMode = AutoCompleteMode.Suggest;
//指定数据源
this.txtDemo.AutoCompleteCustomSource.Add("中国移动");
this.txtDemo.AutoCompleteCustomSource.Add("中国联通");
this.txtDemo.AutoCompleteCustomSource.Add("中国建设银行");
this.txtDemo.AutoCompleteCustomSource.Add("中国工商银行");
}
}
}