我有一个2d的按钮数组,每个按钮链接到同一个事件处理程序:
nb.Click += new EventHandler(this.nb_click);
b[i][j] = nb;
this.Controls.Add(b[i][j]);
private void nb_click(object sender, EventArgs e)
我希望它能让nb_click检测到按下了哪个按钮。有办法解决这个问题吗?
解决方案:我必须先为按钮设置名称,在本例中为nb.Name = ... 谢谢,我才意识到这一点。
答案 0 :(得分:4)
这就是sender
中EventHandler
参数的用法。因此,只需关联此按钮的唯一ID,即可将其识别回来。然后将sender对象参数转换为按钮并查找id。然后采取相应的行动。
答案 1 :(得分:2)
在事件处理程序中,sender
参数将是对单击按钮的引用。