我想创建一个winforms应用程序,您可以在其中为实体分配标签。 ofc我希望客户重复使用现有标签。这就是我想要的原因 在键入时向他们显示标签列表(类似于intellisense 在VS和标签 - 下拉甚至在stackoverflow中;))
我想让taglist获得输入焦点但不会失去mainform-focus, 我希望它能够在所有窗户的顶部,甚至在主要区域范围之外 (如vs中的intellisense)
THX!
答案 0 :(得分:1)
在这里,我创建了一个函数,通过表名从中完成自动完成,需要自动完成的字段名称以及需要定位的组合框。
请尝试以下代码:
public void AutoCompleteTextBox(string tableName, string fieldName, ComboBox combToAutoComp)
{
AutoCompleteStringCollection txtCollection = new AutoCompleteStringCollection();
DataTable dtAutoComp = Dal.ExecuteDataSetBySelect("Stored_Procedure", fieldName, tableName);
if (dtAutoComp.Rows.Count >= 0)
{
for (int count = 0; count < dtAutoComp.Rows.Count; count++)
{
txtCollection.Add(dtAutoComp.Rows[count][fieldName].ToString());
}
}
combToAutoComp.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
combToAutoComp.AutoCompleteSource = AutoCompleteSource.CustomSource;
combToAutoComp.AutoCompleteCustomSource = txtCollection;
}
这里Dal.ExecuteDataSetBySelect
是我的实现,我创建了用于调用存储过程的连接,命令和数据适配器。您可以将它替换为您自己的实现。有关详情,请参阅this link