在C#中,如何向按钮事件调用添加其他属性的最佳方法是什么?
以下是ProfilePictureSetupViewController
的代码:
EventHandler
以下是button.Click += new EventHandler(button_Click);
的代码:
button_Click
如果我想在private void button_Click(object sender, EventArgs e)
{
}
函数参数中添加PropertyGrid
参数,那么最好的方法是什么?
我希望这样做,因为button_Click
代码位于具有button.Click
参数的函数中,而在PropertyGrid
函数中,我需要设置button_Click
选定的对象。仅在单击PropertyGrid
按钮时设置此项。
如果我将按钮的标记设置为button.Click
对象,如何在PropertyGrid
代码中检索此标记对象?
从对象调用button_Click
事件,发件人是对象,而不是按钮。
我可以请一些代码帮助吗?
答案 0 :(得分:4)
你无法说服Button它应该知道任何有关PropertyGrid的信息。当它触发Click事件时,它只能告诉你它知道什么。这是一成不变的。
通过使用lambda表达式,您可以轻松解决此问题,它可以捕获PropertyGrid参数值并将其传递给方法。大致是:
private void SubscribeClick(PropertyGrid grid) {
button.Click += new EventHandler(
(sender, e) => button_Click(sender, e, grid)
);
}