我的Windows窗体上有2个玩家的2张图片。我为他们两个添加了MouseClick
个事件。现在,当我点击鼠标时,它会激活两个玩家的两个事件。我只想知道我点击的一个玩家。
我该怎么做?
this.MouseClick += new System.Windows.Forms.MouseEventHandler(this._player1_MouseClick);
this.MouseClick += new System.Windows.Forms.MouseEventHandler(this._player2_MouseClick);
答案 0 :(得分:2)
假设您有两个带有图片的PictureBox
控件。因此,您已经从设计师发布了代码,我还假设您通过设计师订阅了事件。
PictureBox
控件之一Click
属性,输入Player_Click
作为处理程序名称,然后按Enter键。您已订阅Click
第一次控制事件。PictureBox
Click
属性,点击下拉列表并选择Player_Click
。按Enter键。您已使用相同的事件处理程序订阅第二个控件的Click
事件。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;
}