-1

C#、VS 2010、Forms でコンボボックスを使用します。

コンボボックスをドロップしたら、マウスで選択肢のリストをスクロールします。MSDN Combobox Eventsでこれをトリガーするイベントはどれですか

例: コンボボックスの選択肢のリストはリンゴ、バナナ、チョコレートなどです。リンゴをポイントするとイベントが呼び出され、バナナをポイントすると同じイベントが呼び出されます。

また、指している値を取得するにはどうすればよいですか?

利用可能なイベントがない場合、プログラムで作成できますか?

長い間グーグルで探していましたが、必要なものが見つからないようです。

4

2 に答える 2

2
  1. これでトリガーされるイベントSelectedIndexChanged...

    comboBox1.Items.Add("Apple");
    comboBox1.Items.Add("Banana");
    comboBox1.Items.Add("chocolate");
    
    comboBox1.SelectedIndexChanged += ComboBox1OnSelectedIndexChanged;
    
  2. このメソッドは、コンボボックス型の送信者オブジェクトを受け取ります。唯一の注意点は、シグネチャがそれをオブジェクトに設定することです。キャストすると、値を引き出すことができます。

    private void ComboBox1OnSelectedIndexChanged(object sender, EventArgs eventArgs)
    {
        myvalue = ((ComboBox)sender).SelectedValue;
    }
    
于 2013-10-28T02:59:48.127 に答える
0

これで欲しいものが手に入るらしい

オーナーが描画した winforms コンボボックス アイテムの再描画

具体的にいつ

(状態 & DrawItemState.HotLight) > 0

さらに説明が必要な場合はお知らせください。

編集 -

つまり、ownerdraw を実装することで、マウスがどのアイテムの上にあるかを認識できるようになります。マウスがアイテムの上にあるとき、リンクされた記事ごとに

((状態 & DrawItemState.Selected) > 0) || ((状態 & DrawItemState.HotLight) > 0)

本当です。

その場合、OPが必要とする情報を使用して、必要に応じてイベントを発生させることができます。

于 2013-10-28T02:59:38.090 に答える