好久没写博客了,主要是太懒了,之前因为做bs的比较多现在想转cs端了,虽然现在做cs也一年了,可接触的东西太过零碎了,以至于感觉这一年好像什么都没有学到。估计是因为学了之后没有记录,不扎实,然后又忘记了吧,

估计就这样陷入无限循环了。所以说学到的还是记录一下比较好!

早上来到,看到的一篇文章,写的是winform textbox 自动实现的,觉得还是挺有用的,就在这里记录一下吧。ps:以前也写过一篇jq插件的自动实现,感觉其原理还是一样的。无非就是匹配数据源而已。

使用的原生态textbox的

    相关属性

      AutoCompleteMode     

     // 摘要:
// 指定在 System.Windows.Forms.ComboBox 和 System.Windows.Forms.TextBox 控件中使用的自动完成功能的模式。
public enum AutoCompleteMode
{
// 摘要:
// 禁用 System.Windows.Forms.ComboBox 和 System.Windows.Forms.TextBox 控件的自动完成功能。
None = ,
//
// 摘要:
// 显示与编辑控件关联的辅助下拉列表。 此下拉列表填充了一个或多个建议完成字符串。
Suggest = ,
//
// 摘要:
// 将最可能的候选字符串的其余部分追加到现有的字符,并突出显示追加的字符。
Append = ,
//
// 摘要:
// 同时应用 Suggest 和 Append 选项。
SuggestAppend = ,
}

      AutoCompleteCustomSource   数据源

      AutoCompleteSource   获取或设置一个值,该值指定用于自动完成的完整字符串的源。

        //
// 摘要:
// 获取或设置一个值,该值指定用于自动完成的完整字符串的源。
//
// 返回结果:
// System.Windows.Forms.AutoCompleteSource 值之一。 这些选项为 AllSystemSources、AllUrl、FileSystem、HistoryList、RecentlyUsedList、CustomSource
// 和 None。 默认值为 None。
//
// 异常:
// System.ComponentModel.InvalidEnumArgumentException:
// 指定的值不是 System.Windows.Forms.AutoCompleteSource 值之一。
[Browsable(true)]
[EditorBrowsable(EditorBrowsableState.Always)]
public AutoCompleteSource AutoCompleteSource { get; set; }

示例代码 :

  

         protected override void OnLoad(EventArgs e)
{
base.OnLoad(e); txtTest.AutoCompleteMode = AutoCompleteMode.Suggest; //设置匹配数据源的模式 var source = new AutoCompleteStringCollection();
source.AddRange(new string[] {
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
}); txtTest.AutoCompleteCustomSource = source; //设置数据源
txtTest.AutoCompleteSource = AutoCompleteSource.CustomSource; //数据源的类型
}

winform textbox 的自动实现功能的更多相关文章

  1. WinForm TextBox 实现自动索引功能

    源代码如下: http://pan.baidu.com/s/1bnOz4hp

  2. WinForm应用程序中实现自动更新功能

    WinForm应用程序中实现自动更新功能 编写人:左丘文 2015-4-20 近来在给一客户实施ECM系统,但他们使用功能并不是我们ECM制造版提供的标准功能,他们要求对系统作一些定制功能,为了避免因 ...

  3. winform中DataGridView实现分页功能

    WinForm轻松实现自定义分页 (转载) WinForm轻松实现自定义分页 (转载)   转载至http://xuzhihong1987.blog.163.com/blog/static/26731 ...

  4. C# ComboBox自动完成功能的示例

    先看一下关键代码: DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.Columns.Add("VV& ...

  5. Ajax实现搜索栏中输入时的自动提示功能

    使用 jQuery(Ajax)/PHP/MySQL实现自动完成功能 JavaScript代码: <script src="jquery-1.2.1.pack.js" type ...

  6. ASP.NET输入文本框自动提示功能

    在ASP.NET Web开发中会经常用到自动提示功能,比如百度搜索.我们只要输入相应的关键字,就可以自动得到相似搜索关键字的提示,方便我们快速的输入关键字进行查询. 那么在ASP.NET中,如果我们需 ...

  7. 基于JQuery实现的文本框自动填充功能

    1. 实现的方法 /* * js实现的文本框的自动完成功能 */ function doAutoComplete(textid,dataid,url){ $("#" + texti ...

  8. redis技巧--自动完成功能实现

    自动完成功能一般都伴随搜索框出现,就是用户在输入时帮助其自动补全. 比如对成语进行补全,现有如下成语:一心一意,一心二用,一帆风顺. 两种实现方式: 实现方式一: 为每个成语的每个前缀都使用一个集合类 ...

  9. eclipse自动提示功能没了的解决办法(转载)

    eclipse自动提示功能没了的解决办法 标签: eclipse联想 2012-08-09 14:32 24687人阅读 评论(7) 收藏 举报  分类: Android(38)  版权声明:本文为博 ...

随机推荐

  1. oracle 主键应用序列和触发器实现自动增长

    oracle 主键自动增长 这几天搞Oracle,想让表的主键实现自动增长,查网络实现如下: create table simon_example ( id number(4) not null pr ...

  2. document.readystate

    http://www.cnblogs.com/lhb25/archive/2009/07/30/1535420.html http://www.cnblogs.com/haogj/archive/20 ...

  3. JavsScript的基本特点

    1.简单性Javascript是一种脚本语言,它采用小程序段的方式实现编程它同样也是一种解释性语言.2.动态性Javascript是动态的,它可以直接对用户或者客户输入做出相应,无须经过Web服务程序 ...

  4. 【HDU1712】ACboy needs your help(分组背包)

    将背包九讲往后看了看,学习了一下分组背包.来做几道入门题,试试手. #include <iostream> #include <cstring> #include <cs ...

  5. eclispe远程调试tomcat

    在eclispe中新建web应用,名字叫webtest.里面只有一个HelloServlet.Web.xml配置如下. 修改tomcat的启动脚本startup.bat.复制startup.bat为s ...

  6. class 类(4)

    要将类实例化,然后通过实例来调用类的方法(函数).在此,把前面经常做的这类事情概括一下: 方法是类内部定义函数,只不过这个函数的第一个参数是self.(可以认为方法是类属性,但不是实例属性) 必须将类 ...

  7. itoa的源代码实现

    由于通过socket传递数据的时候,仅仅能够通过字符串类型,可是,当我们要传递的数据是整型的是,应该怎么办呢?本来我想着使用for循环,可是,总感觉太麻烦了,后来别人告诉我能够使用itoa,以下是it ...

  8. EnableDocking

    CFrameWnd::EnableDocking void EnableDocking(DWORD dwDockStyle); 參数: dwDockStyle 指定框架窗体的哪一边可作为控件条的停靠点 ...

  9. 使用C++11实现无锁stack(lock-free stack)

    前几篇文章,我们讨论了如何使用mutex保护数据及使用使用condition variable在多线程中进行同步.然而,使用mutex将会导致一下问题: 等待互斥锁会消耗宝贵的时间 — 有时候是很多时 ...

  10. String源码学习

    String源码学习 零散的收获 数组的元素类型可以通过getComponentType来获取到 子类型的数组可以赋值给父类型的数组,.但是并不存在继承关系.数组的父类是Object. 通过声明如下代 ...