• Winform实现百度搜索框智能提示功能( C# )


    用了百度很多年了,发现百度有智能提示功能貌似是在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一起来使用。

    view plaincopy to clipboardprint?
    this.textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;  
    this.textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;  
    this.textBox1.AutoCompleteCustomSource.Add("中国银行");  
    this.textBox1.AutoCompleteCustomSource.Add("中国移动");  
    this.textBox1.AutoCompleteCustomSource.Add("中华人民共和国");  
    this.textBox1.AutoCompleteCustomSource.Add("美国纽约"); 
    this.textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
    this.textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
    this.textBox1.AutoCompleteCustomSource.Add("中国银行");
    this.textBox1.AutoCompleteCustomSource.Add("中国移动");
    this.textBox1.AutoCompleteCustomSource.Add("中华人民共和国");
    this.textBox1.AutoCompleteCustomSource.Add("美国纽约");

    运行一下,在文本框中输入一个"中"字,它就会把相互匹配的东西给你找出来了。

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/remember_me/archive/2011/05/30/6455051.aspx

  • 相关阅读:
    TIF转JPG
    跨线程取出控件的值的写法(不是跨线程赋予控件值)
    oracle根据正则表达式查找对应的字段
    oracle数据库连接字符串
    access检测表没有的字段,添加之
    解决 Unable to load DLL 'OraOps9.dll': 找不到指定的模块。 (Exception from HRESULT: 0x8007007E)
    oracle关键字使用
    to_number,Extract oracle的关键字
    OracleCommand.CommandText 无效
    调用带参数的线程两种方法
  • 原文地址:https://www.cnblogs.com/softwareking/p/2076018.html
Copyright © 2020-2023  润新知