如何使用 C#.net 将鼠标单击事件添加到 Picturebox

How to Add Mouse click event to Picturebox using C#.net

我正在创建简单的库存系统。我只需要这个如果我点击图片框 1 相关消息应该显示 "pic1" 如果我点击 piturebox 2 相关消息应该显示 "pic2"

public Form1()
    {
        InitializeComponent();
        this.MouseClick += mouseClick;

    } 
    private void mouseClick(object sender, MouseEventArgs e)
    {

        var clickedPictureBox = (PictureBox)sender;
        if (clickedPictureBox == pictureBox1)
        {
            MessageBox.Show("Pic1");

        }
    }

我尝试了代码,但它不起作用

首先,您正在使用窗体的鼠标单击事件,您需要替换:

this.MouseClick += mouseClick;

作者:

pictureBox1.MouseClick += mouseClick;
pictureBox2.MouseClick += mouseClick;

选项 1:使用发件人对象
鼠标点击事件给你参数sender,也就是触发事件的对象
所以你可以这样使用它:

var clickedPictureBox = (PictureBox)sender;
if (clickedPictureBox == pictureBox1)
   ...

选项 2:使用标签
您可以在 winforms 元素中设置标签并使用它们。例如,到设计器中将两张图片的标签设置为"Pic1"和"Pic2",然后这样使用:

var clickedPictureBox = (PictureBox)sender;
if (clickedPictureBox.Tag.ToString() == "Pic1")
   ...