这似乎是一个简单的问题……关键是如何将按钮委托签名void, object, eventargs
与我的方法匹配或使用事件委托。
例如,我有一个按钮的代码,当它被点击时会改变颜色。然而,
button1.Click += new EventHandler(KK.ChangeColor);
将 EventArgs 从按钮传送到 ChangeColor(object sender, EventArgs e) 方法,但对使用 ColorEventArgs 的其余代码没有意义;和
button1.Click += delegate(object sender, EventArgs e){ KK.ChangeColor(sender); };
不允许稍后在代码中删除委托。
那么哪个更好呢?为我的所有方法添加不必要的参数以匹配按钮委托,或者以后无法删除委托?
或者我将如何更改按钮的代表签名? 似乎必须有一种“更清洁”的方式来做到这一点?
将不胜感激建议。