winform textbox 的自动实现功能

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

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

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

 

使用的原生态textbox的

    相关属性

      AutoCompleteMode     

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

 

      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; }

 

示例代码 :

  

 1         protected override void OnLoad(EventArgs e)
 2         {
 3             base.OnLoad(e);
 4 
 5             txtTest.AutoCompleteMode = AutoCompleteMode.Suggest;   //设置匹配数据源的模式
 6 
 7             var source = new AutoCompleteStringCollection();
 8             source.AddRange(new string[] { 
 9                 "January",
10                 "February",
11                 "March",
12                 "April",
13                 "May",
14                 "June",
15                 "July",
16                 "August",
17                 "September",
18                 "October",
19                 "November",
20                 "December"
21             });
22 
23             txtTest.AutoCompleteCustomSource = source;            //设置数据源
24             txtTest.AutoCompleteSource = AutoCompleteSource.CustomSource;  //数据源的类型
25         }

 

posted @ 2016-05-27 10:41  暗暗大人  阅读(1393)  评论(0编辑  收藏  举报