2016-10-25 3 views
1

私は多くのListBoxesの中に1つのWindowsフォームを持っていて、すべてListBoxは同じことをしなければなりません。私はこれらをリストのように扱うと思います。ウィンドウコントロールのリストでイベントを処理する

OnLoad私はリストを作成:私は私のList内のすべてのListBoxesためSelectedIndexChangedメソッドを書くことができますどのように

private List<ListBox> lsts = new List<ListBox>();   
lsts.Add(lstStart); 
lsts.Add(lst0); 
lsts.Add(lst1); 
lsts.Add(lst2); 
lsts.Add(lst3); 

を?

答えを試してみると、そのチュートリアルは見つかりませんでした。

答えて

2

はすべてListBoxesためSelectedIndexChangedを生成するために、最初にこのコードを使用します。

lsts.ForEach(c => c.SelectedIndexChanged += lsts_SelectedIndexChanged); 

そして:

private void lsts_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    //Use sender to find the selected ListBox 
    var selectedListBox = (ListBox)sender; 
    //Do what you want with selected ListBox 
    MessageBox.Show(selectedListBox.Name); 
} 
+0

それは完璧に動作します! – rever