winform textbox 的自动实现功能

好久没写博客了,主要是太懒了,之前因为做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; //数据源的类型
}
上一篇:计算机网络#关于HDLC#


下一篇:vijosP1413 Valentine’s Present