3

エンティティにタグを割り当てることができる winforms アプリを作成したいと考えています。ofc お客様に既存のタグをたくさん再利用してもらいたい。そのため、入力中にタグのリストを表示したいのです(VSのインテリセンスや、スタックオーバーフローのタグドロップダウンに似ています;))

  • この機能を提供するコントロールはありますか?
  • これに ComboBox を再利用できますか? (ここでは、プログラムでドロップダウンする必要があります - どうやって?)

タグリストに入力フォーカスを取得させたいが、メインフォーム フォーカスを失わないようにしたい。また、すべてのウィンドウの上に配置し、メインフォーム領域の外側に配置したい (vs のインテリセンスのように)

どうも!

4

1 に答える 1

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これは、ストアドプロシージャを呼び出すための接続、コマンド、およびデータアダプターを作成する私の実装です。同じものを独自の実装に置き換えることができます。詳細については、このリンクを参照してください

于 2010-03-10T09:18:57.830 に答える