2010-03-10 18 views
3

我想创建一个winforms应用程序,您可以在其中为实体分配标签。我希望客户重复使用现有标签。这就是为什么我要 向他们展示的标签列表,而他们正在打字(类似于智能感知在VS 和标签,下拉菜单甚至在这里计算器;))Winforms控件,像ajax标签完成一样工作

  • 你有任何的控制(S)介意提供这种功能?
  • 我可以重复使用ComboBox吗? (这里我需要编程砸下来 - 如何)

我想有标记列表获取输入焦点,但不输MainForm的焦点, ,我想这是对所有窗口顶过去,甚至范围外的主表区域 (如VS中的intellisense)

thx!

回答

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是我实现,其中我创建连接,命令和DataAdapter来调用存储过程。你可以用你自己的实现替换它。欲了解更多请参考this link

+0

thx好友,工作充分。虽然我决定经过更多的努力,采取WPF陡峭的学习曲线,并从头开始使用WPF的项目 - 祝我好运:) – Sargola 2010-04-07 21:34:32

+0

所有最好:) – HotTester 2010-04-08 07:35:25