如何向按钮单击事件处理程序添加附加参数?
How can I add an additional parameter to a button click EventHandler?
在 C# 中,向按钮事件调用添加额外 属性 的最佳方法是什么?
这是 EventHandler
的代码:
button.Click += new EventHandler(button_Click);
这是 button_Click
的代码:
private void button_Click(object sender, EventArgs e)
{
}
如果我想在 button_Click
函数参数中添加一个 PropertyGrid
参数,最好的方法是什么?
我想这样做,因为 button.Click
代码在一个具有 PropertyGrid
参数的函数中,而在 button_Click
函数中,我需要设置 PropertyGrid
选定对象。这仅在单击 button.Click
按钮时设置。
如果我将按钮的标签设置为 PropertyGrid
对象,如何在 button_Click
代码中检索此标签对象?
button_Click
事件是从对象调用的,发送者是对象,不是按钮。
我可以在代码方面得到一些帮助吗?
您无法说服 Button 它应该知道有关 PropertyGrid 的任何信息。当它触发它的 Click 事件时,它只能告诉你它所知道的。这是一成不变的。
您可以使用 lambda 表达式简单地解决这个问题,它可以捕获 PropertyGrid 参数值并将其传递给方法。大致:
private void SubscribeClick(PropertyGrid grid) {
button.Click += new EventHandler(
(sender, e) => button_Click(sender, e, grid)
);
}
在 C# 中,向按钮事件调用添加额外 属性 的最佳方法是什么?
这是 EventHandler
的代码:
button.Click += new EventHandler(button_Click);
这是 button_Click
的代码:
private void button_Click(object sender, EventArgs e)
{
}
如果我想在 button_Click
函数参数中添加一个 PropertyGrid
参数,最好的方法是什么?
我想这样做,因为 button.Click
代码在一个具有 PropertyGrid
参数的函数中,而在 button_Click
函数中,我需要设置 PropertyGrid
选定对象。这仅在单击 button.Click
按钮时设置。
如果我将按钮的标签设置为 PropertyGrid
对象,如何在 button_Click
代码中检索此标签对象?
button_Click
事件是从对象调用的,发送者是对象,不是按钮。
我可以在代码方面得到一些帮助吗?
您无法说服 Button 它应该知道有关 PropertyGrid 的任何信息。当它触发它的 Click 事件时,它只能告诉你它所知道的。这是一成不变的。
您可以使用 lambda 表达式简单地解决这个问题,它可以捕获 PropertyGrid 参数值并将其传递给方法。大致:
private void SubscribeClick(PropertyGrid grid) {
button.Click += new EventHandler(
(sender, e) => button_Click(sender, e, grid)
);
}