如何使用C#.net将鼠标单击事件添加到Picturebox
我正在创建一个简单的库存系统。如果我单击picturebox 1 relavent消息应显示“pic1”,如果我单击piturebox 2 relavent消息应显示“pic2”,则仅需要此选项如何使用C#.net将鼠标单击事件添加到Picturebox,c#,mouseevent,C#,Mouseevent,我正在创建一个简单的库存系统。如果我单击picturebox 1 relavent消息应显示“pic1”,如果我单击piturebox 2 relavent消息应显示“pic2”,则仅需要此选项 我尝试了代码,但它不起作用。首先,您正在使用表单的鼠标单击事件,您需要替换: this.MouseClick+=MouseClick; 作者: pictureBox1.MouseClick+=MouseClick; pictureBox2.MouseClick+=鼠标单击; 选项1:使用发送者对象
我尝试了代码,但它不起作用。首先,您正在使用表单的鼠标单击事件,您需要替换:
this.MouseClick+=MouseClick;
作者:
pictureBox1.MouseClick+=MouseClick;
pictureBox2.MouseClick+=鼠标单击;
选项1:使用发送者对象鼠标单击事件为您提供了参数
sender
,它是触发事件的对象。所以你可以这样使用它:
var clickedPictureBox=(PictureBox)发送方;
如果(单击PictureBox==pictureBox1)
...
选项2:使用标签您可以在winforms元素中设置标记并使用它们。例如,转到设计器,将两张图片的标签设置为“Pic1”和“Pic2”,然后按如下方式使用:
var clickedPictureBox=(PictureBox)发送方;
如果(单击PictureBox.Tag.ToString()=“Pic1”)
...
消息不显示如果我单击图片1查看我的编辑,您使用的是表单的单击事件,而不是图片的
public Form1()
{
InitializeComponent();
this.MouseClick += mouseClick;
}
private void mouseClick(object sender, MouseEventArgs e)
{
var clickedPictureBox = (PictureBox)sender;
if (clickedPictureBox == pictureBox1)
{
MessageBox.Show("Pic1");
}
}