我们如何为命令按钮的收集提供单一通用方法。我有数字(0,1,2 ..)命令按钮的集合,并且需要为所有这些按钮设置单一事件方法,因为它们具有相似的行为。
答案 0 :(得分:2)
事件代表的模式使用两个参数。一个是发件人,另一个是eventargs。您可以根据发件人执行某些操作,也可以在标记中添加一些内容
void OnButtonClick(object sender, EventArgs e)
{
Button button = sender as Button;
object data = button.Tag;
DoSomething(data);
}
答案 1 :(得分:1)
您可以通过Multicast Delegates
来实现这一目标以这种方式定义GenericButtonClick
事件处理程序:
void OnGenenicButtonClick(object sender, EventArgs e)
{
var btn = sender as Button;
// ... do something ...
}
以这种方式分配GenericButtonClick
事件委托(比如Load
事件处理程序):
cmdBtn1.Click += OnGenenicButtonClick;
cmdBtn2.Click += OnGenenicButtonClick;
//...
参考: