如何知道鼠标单击事件发生在哪个图像上



我的窗口表单上有 2 张图片供 2 名玩家使用。 我为他们俩都添加了MouseClick事件。现在,当我单击鼠标时,它会激活两个玩家的两个事件。我只想知道我点击的一个玩家。我该怎么做?

this.MouseClick += new System.Windows.Forms.MouseEventHandler(this._player1_MouseClick);
this.MouseClick += new System.Windows.Forms.MouseEventHandler(this._player2_MouseClick);

假设您有两个带有图像的PictureBox控件。因此,您已经发布了设计器的代码,我还假设您是通过设计器订阅事件的。

  1. 选择PictureBox控件之一
  2. "事件">选项卡中,找到Click属性,键入Player_Click作为处理程序名称,然后按 Enter。您已订阅Click第一个控制事件。
  3. 选择第二个PictureBox
  4. "事件"选项卡中找到Click属性,单击下拉列表并选择"Player_Click"。按回车键。您已使用相同的事件处理程序订阅第二个控件Click事件。
  5. 现在转到代码视图(您可以双击其中任何一个控件(并找到Player_Click方法

为了查找单击了哪个控件,您需要将sender参数转换为PictureBox类型:

private void Player_Click(object sender, EventArgs e)
{
    var pictureBox = (PictureBox)sender;
    // use control which was clicked. e.g. get it's name
    var name = pictureBox.Name; 
}

相关内容

  • 没有找到相关文章

最新更新