【问题标题】:Detect which button clicked from array检测从数组中单击了哪个按钮
【发布时间】:2012-03-15 22:52:21
【问题描述】:

我有一个二维按钮数组,每个按钮都链接到同一个事件处理程序:

    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=... 谢谢,我才意识到这一点。

【问题讨论】:

  • 请不要在标题前加上“C#:”之类的前缀。这就是标签的用途。
  • 没有在 C# 上尝试过,但是发送者参数不是触发事件的按钮吗(它在大多数其他 GUI/事件环境中)?
  • 谁还记得 VB6 中的控制数组?美好的旧时光...

标签: c# events button


【解决方案1】:

这就是sender 参数在EventHandler 中的用途。因此,只需为此按钮关联一个唯一 ID,以便您可以识别它。然后将 sender 对象参数转换为按钮并查找 id。然后采取相应的行动。

【讨论】:

    【解决方案2】:

    在事件处理程序中,sender 参数将是对被单击按钮的引用。

    【讨论】:

      猜你喜欢
      • 2017-03-28
      • 1970-01-01
      • 2014-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多