文本框的联想输入和根据历史记录输入
文本框的联想输入即指,当输入一个字母后文本框的下面 会自动显示一些信息供用户选择
对于联想输入功能还是要依靠对控件属性的修改,在txtBox中两个属性叫做AutoCompleteMode和AutoCompleteSource
这两个属性的设置如图所示
然后就是后台的代码控制了
在.cs文件中,首先要对Form的属性进行设置,要添加一个load的函数
private void Form1_Load(object sender, EventArgs e) { InitialAutoCompleteList(); }
代码
对于代码的基本思路就是,先将可联想的字段保存到数组中,然后将数组对应于一个datatable的一行,最后添加到
//联想输入
string[] arrayRemind = new string[] { "C:\\Users\\Xiong\\Desktop\\training\\By County\\OR001zcta5cu.shp", "D:\\training\\By County\\OR001zcta5cu.shp", "Cdba", "C:\\Users\\Xiong\\Desktop\\training\\By County\\OR001zcta7cu.shp", "C:\\Users\\Xiong\\Desktop\\training\\By County\\OR001zcta9cu.shp", "no", "nobody", "morning", "yellow", "moon" };
DataColumn datacolumnRemind=new DataColumn("remind");
this.dt.Columns.Add(datacolumnRemind);
for (int i = 0; i < 10; i++)
{
DataRow dataRowRemind = dt.NewRow();
dataRowRemind[0] = arrayRemind[i];
dt.Rows.Add(dataRowRemind);
}
AutoCompleteStringCollection AutoCollectionRemind = new AutoCompleteStringCollection();
foreach (DataRow dr in dt.Rows)
{
AutoCollectionRemind.Add(dr["remind"].ToString());
}
this.txtSource2.AutoCompleteCustomSource = AutoCollectionRemind;
AutoCompleteStringCollection的一个实例对象的Add函数的参数
对应历史记录就只是在联想输入的基础上,将文本框的输入历史存入一个文本文件中,然后在 InitialAutoCompleteList()中将其读出来
保存到一个数组中。