关于AutoCompleteCustomSource数据源的问题

qq_38022046 2018-01-11 10:12:45
我想完成textbox自动补全的功能,但是AutoCompleteCustomSource数据怎么从数据库中读取
...全文
482 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_38022046 2018-01-11
  • 打赏
  • 举报
回复
大佬们路过过来看看呗~~~
我们在使用WinForm中的TextBox的智能提示要使用到两个重要的TextBox属性, 一个是AutoCompleteMode,另一个是AutoCompleteSourceAutoCompleteMode有四个值,分别是None,Append,Suggest,SuggestAppend。他们分别是:不给提示。最可能的匹配项自动追加到当前数据。产生由一个或多个建议完成字符串组成的下拉列表。最可能的匹配项自动追加到当前数据并产生由一个或多个建议完成字符串组成的下拉列表。 AutoCompleteSource属性允许您从一些系统源中进行选择,例如 FileSystem、HistoryList、RecentlyUsedList、AllUrl 和 CustomSource。如果选择 CustomSource,则必须向 AutoCompleteCustomSource属性提供一个字符串列表。 我们现在就开始 在VS中建一个新的项目,在From1中添加一个TextBox 并取名为TB_AutoComplete。再添加一个BackgroundWorker取名为bgWorker。 接下来的事都由代码完成。 public Form1() {     bgWorker.RunWorkerAsync();//打开异步操作,完成数据的读取     TB_AutoComplete.AutoCompleteMode = AutoCompleteMode.SuggestAppend; //最可能的匹配项自动追加到当前数据并产生由一个或多个建议完成字符串组成的下拉列表     TB_AutoComplete.AutoCompleteSource = AutoCompleteSource.CustomSource; //设置智能提示的源为自定义源    } AutoCompleteStringCollection GetDataFromDB() { AutoCompleteStringCollection ac = new AutoCompleteStringCollection(); string constr = "server=.;initial catalog=AutoComplete;integrated security=true"; //数据库连接 SqlConnection con = new SqlConnection(constr); string sql = "select * from AutoComplete" ; //我这里使用一个叫AutoComplete的数据库,数据库里有两个字段 一个ID,一个AutoComplete。用于存放智能提示的内容    SqwlCommand cmd = new SqlCommand(sql, con); try { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { string text = reader.GetString(0); ac.Add(text); } con.Close(); } catch (Exception ee) { con.Close(); MessageBox.Show("程序出错了,错误原因是:\n" + ee.Message, "温馨提示"); } return ac; } 然后我们在设计页面中找到bgWorker 在他的DoWorkg事件中写入   private void bgWorker_DoWork(object sender, DoWorkEventArgs e) { e.Result=GetDataFromDB(); } 在RunWorkerCompleted事件中写入 private void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { TB_AutoComplete.AutoCompleteCustomSource = (AutoCompleteStringCollection)e.Result; } 这样我们的智能提示就完成 了 效果图看附件

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧