如何解决根据另一个自动完成的文本框c#winforms的选定文本填充文本框
我有两个文本框 txtPartNumber , txtDesc 。使用以下代码在text_change_event上可以自动完成“零件号”文本框,这很好用。
try
{
string query = "select [itmPartNumber],[itemDescr] from [vstItems]";
SqlCommand cmd = new SqlCommand(query,con);
con.Open();
SqlDataReader sdr = cmd.ExecuteReader();
AutoCompleteStringCollection autoPart = new AutoCompleteStringCollection();
while (sdr.Read())
{
autoPart.Add(sdr.GetString(0));
}
txtPartNum.AutoCompleteMode = AutoCompleteMode.Suggest;
txtPartNum.AutoCompleteSource = AutoCompleteSource.CustomSource;
txtPartNum.AutoCompleteCustomSource = autoPart;
}
textPartNumber _leave事件 txtDescr 文本中我正在寻找的内容应填写我从上述查询中从数据库获得的描述。
上面附上我的表单的屏幕截图。我怎么得到的?
解决方法
来自Bizhan的评论是答案的很好线索。使用txtPartNumber上的Leave事件更新带有Description的txtDesc。 一些改善您解决方案的建议:
查询数据库,并为txtPartNumber的 TextChanged 事件构建 AutoCompleteStringCollection 输出。用户每次击键都会引发 TextChanged 。在将整个代码输入到文本框控件之前,它将多次调用。 (通常,请避免在事件处理程序中执行许多操作,而应使用私有方法。)
在阅读 itmPartNumber 时,也请阅读 itemDescr 。您可以使用词典来存储这两者,然后在用户决定将其中的一部分输入时检索该描述。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。