【发布时间】:2020-12-07 13:18:16
【问题描述】:
我正在使用 WPF C# VS。
我必须创建大约 100 个按钮的东西,每个按钮都应该有自己的事件。我也不想自己创建它们。
例如:
1. 按钮将所有其他按钮染成红色。 2. 按钮打开一个新窗口。 3. 按钮显示一个消息框。 ... 每个人都在做其他事情!
所以问题是如何将方法存储在数组中?
它应该像这样工作:
List<Button> buttons = new List<Button>(); //Contains all buttons
void fillButtonsList() {...} //Storing Buttons in list
Method[] methods = new Method[] //Storing Methods in Arrays
{
colorAll,
openWindow,
showMessageBox,
...
}
void ApplyEvents() //Assign Methods to Events
{
for (int i = 0; i < methods.Length; i++)
{
buttons[i].Click += methods[i];
}
}
void colorAll() {...} //Methos get Executed when Event got Fired
void openWindow() {...}
void showMessageBox() {...}
...
我希望你能理解我的问题,我的英语不太好。
【问题讨论】:
-
用
Action代替Method? -
或者
EventHandler?