怎样使自己程序中的文本框或下拉框具有像百度和Google那样的自动联想功能?微软的TextBox和Combobox控件为我们提供了简便方法。
首先需要学习TextBox(或Combobox)的两个属性,一个属性是AutoCompleteMode,指定控件中使用的自动完成功能的模式,有四种模式,分别是:
None:禁用控件的自动完成功能
Suggest:显示与编辑控件关联的辅助下拉列表。此下拉列表填充了一个或多个建议完成字符串。显示效果如下:
Append:将最可能的候选字符串的其余部分追加到现有的字符,并突出显示追加的字符。显示效果如下:
SuggestAppend:同时应用 Suggest 和 Append 选项。显示效果如下:
我们一般常用SuggestAppend模式。
另一个属性为AutoCompleteSource,指定了控件实现自动联想功能的数据源,读者可以自己去查看MSDN,这里就不再赘述。下面是一个代码示例:
首先设置TextBox和Combobox的AutoCompleteSource的属性为CustomSource,然后设置TextBox和Combobox的AutoCompleteMode属性为SuggestAppend。
view plaincopy to clipboardprint?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.Common;
namespace 文本框联想功能的实现
{
public partial class Form1 : Form
{
DataTable dt = new DataTable();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
InitialAutoCompleteList();
}
private void InitialAutoCompleteList()
{
string []array=new string[]{"hello","hi","nihao","hehe","yes","no","nobody","morning","yellow","moon"};
DataColumn dc=new DataColumn("name");
this.dt.Columns.Add(dc);
for (int i = 0; i < 10;i++ )
{
DataRow dr = dt.NewRow();
dr[0] = array[i];
dt.Rows.Add(dr);
}
AutoCompleteStringCollection AutoCollection = new AutoCompleteStringCollection();
foreach (DataRow dr in dt.Rows)
{
AutoCollection.Add(dr["name"].ToString());
}
this.textBox_TestAutoComplete.AutoCompleteCustomSource = AutoCollection;
this.comboBox_TestAutoComplete.AutoCompleteCustomSource = AutoCollection;
}
}
}
分享到:
相关推荐
原生js text文本框模拟select下拉框美化点击下拉菜单选 原生js text文本框模拟select下拉框美化点击下拉菜单选 原生js text文本框模拟select下拉框美化点击下拉菜单选 原生js text文本框模拟select下拉框美化点击...
C#文本框TextBox只有输入数字 C#文本框输入数字 C#文本框数字 C#TextBox只有输入数字 C#TextBox只能输入数字
根据字符串的长度自动调整文本框的大小显示出来。自己研究了大半天终于做出来了,但是还是需要优化,因为我们的项目不适用。
C# 带水印 带提示信息 的文本框 Textbox
VB文本垂直居中,主要是为了补TEXTBOX不能垂直居中的不足
Visual Studio开发环境下C#源代码,源码,带行数和标尺的文本框TEXTBox源码,源代码,适合C#初学者做实例,或需要带行数和标尺的文本框TEXTBox的开发者,载入可以直接使用
加载文本框TextBox
ComboBox控件可以输入文本...该自定义控件利用visual studio2017开发,使用VB.NET语言对TextBox和ComboBox进行了改写,实现类百度搜索框似的输入文本智能模糊提示说明、自动匹配过滤功能。具体效果请参阅本人相关博文。
这是我自己总结出来easyui-textbox和easyui-combobox的onchange事件响应实例,绝对可用,网上很多实例都无法运行,这个我亲自测试可用使用才传上来的,供大家参考学习。
模仿baidu搜索框,winform组件
easyui textbox失去焦点事件及获取文本框的内容easyui textbox失去焦点事件及获取文本框的内容easyui textbox失去焦点事件及获取文本框的内容
c#textbox输入框自动提示、自动完成、自动补全功能.rar 详情请参考:http://blog.csdn.net/testcs_dn/article/details/45293253
主要介绍了js 动态为textbox添加下拉框数据源的方法,需要的朋友可以参考下
这个winform的搜索记忆功能以及百度效果的搜索功能
该案例主要实现TextBox控件在输入时,自动给出若干提示信息,提供自动补全功能
c#TextBox输入框自动提示、自动完成、自动补全功能
C#开发WinForm,如何实现TextBox获取输入焦点时自动全选? 肯定不少朋友一看就会觉得再容易不过了:给TextBox添加GotFocus事件,然后在事件中调用TextBox.SelectAll()不就完事了吗?巢皮一开始也理所当然得这么...
JS文件: 代码如下:function mouseAction() { var textInputs = document.getElementsByTagName(“input”); var len = textInputs.length; var index = 0; var textInput; /* 也能用 for in 语句遍历 for (text...
自定义 wpf 文本下拉框控件,输入字符自动模糊查询,下拉显示出来,可配置,输入多长后去服务端拿数据显示,也可配置,输入文字后几毫秒去查询
此功能是c#版开发中,文本框TextBox限制输入数值的大小,当输入数值过大时,文本框下会有提示语句。