1

ダブルクリックしたリストボックスのコンポーネントに応じて、異なる情報を含むフォームを読み込もうとしています。クリックされたボックス (ボックス 1、ボックス 2 など) がわかれば、それで十分です。

Doubleclick イベントを使用してみましたが、オブジェクトが返されます。必要なものを取得するためにこのオブジェクトをどうすればよいかわかりません。

今の私のコードは次のとおりです。

for (int i = 0; i <= (Program.Customers.Count) - 1; i++)
            {
                if (Program.Customers[i].Name == searchTerm)
                {
                    SearchIndex.Add(i);   
                    listBox1.Items.Add(((Program.Customers[i].ID + " - " + Program.Customers[i].Name)));
                }
            }
            listBox1.Show();

どのボックスがクリックされたかを取得する最良の方法は何ですか? IDが必要ですが、ボックスをクリックすると取得できます。

ありがとう!

4

1 に答える 1

2

sender最も単純なケースでは、引数をListBoxコントロール インスタンスと直接比較できます。次に例を示します。

if (sender == listBox1)
{
    // ...
}

より多くの情報を取得するには、senderまずそれをより具体的なものにキャストする必要があります。したがって、ダブルクリック ハンドラーがリスト ボックスにのみ関連付けられていることがわかっている場合は、次のことができます。

var listbox = (ListBox)sender;

次に、 の任意のプロパティにアクセスしますListBox(たとえばTag、カスタム ニーズに合わせて特別に存在するため言及します)。

于 2013-10-10T19:40:14.163 に答える