【问题标题】:Handle event by list of windows form controls通过窗体控件列表处理事件
【发布时间】:2016-10-25 09:37:32
【问题描述】:
我在很多ListBoxes 中有一个Windows 窗体,每个ListBox 都必须做同样的事情。我想像处理列表一样处理这些。
OnLoad我创建列表:
private List<ListBox> lsts = new List<ListBox>();
lsts.Add(lstStart);
lsts.Add(lst0);
lsts.Add(lst1);
lsts.Add(lst2);
lsts.Add(lst3);
如何在我的List 中为所有ListBoxes 编写SelectedIndexChanged 方法?
尝试回答,我没有找到相关的教程。
【问题讨论】:
标签:
c#
winforms
listbox
event-handling
【解决方案1】:
首先使用此代码为所有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);
}