C# 如何将图片框单击事件分组为一个?

C# 如何将图片框单击事件分组为一个?,c#,picturebox,mouseclick-event,C#,Picturebox,Mouseclick Event,您好,我有36个picturebox点击事件。我只想对所有36个图片框使用一次单击事件。此外,所有单击事件都做相同的事情,第一个事件的代码只是略有不同。Thnaks您可以对每个组图片框重复使用eventhandler方法。方法的sender参数将包含触发事件的对象。您可以对每个组图片框重复使用eventhandler方法。方法的sender参数将包含触发事件的对象。只需转到每张图片的events属性并设置为p02\u单击或使用您自己的自定义名称即可 如果一个面板中有所有图片框,您可以尝试: pr

您好,我有36个picturebox点击事件。我只想对所有36个图片框使用一次单击事件。此外,所有单击事件都做相同的事情,第一个事件的代码只是略有不同。Thnaks

您可以对每个组图片框重复使用eventhandler方法。方法的sender参数将包含触发事件的对象。

您可以对每个组图片框重复使用eventhandler方法。方法的sender参数将包含触发事件的对象。

只需转到每张图片的events属性并设置为
p02\u单击
或使用您自己的自定义名称即可

如果一个面板中有所有图片框,您可以尝试:

private void p01_Click(object sender, EventArgs e)
    {
        if (p01.Image == pmiss.Image)
        {
            score++;
            makeMoleVisable(1, phit);
        }
        else
        {
            score--;
            molesmissed++;
        }
    }
    private void p02_Click(object sender, EventArgs e)
    {
        if (p02.Visible)
        {
            if (p02.Image == pmiss.Image)
            {
                score++;
                p02.Image = phit.Image;
            }
            else
            {
                score--;
                molesmissed++;
            }
        }
    }

您还可以通过为
p01
设置
标记
属性并在代码中检查该属性来测试它是否为pictureBox1。

只需转到每个图片的事件属性并设置为
p02\u单击
或使用您自己的自定义名称即可

如果一个面板中有所有图片框,您可以尝试:

private void p01_Click(object sender, EventArgs e)
    {
        if (p01.Image == pmiss.Image)
        {
            score++;
            makeMoleVisable(1, phit);
        }
        else
        {
            score--;
            molesmissed++;
        }
    }
    private void p02_Click(object sender, EventArgs e)
    {
        if (p02.Visible)
        {
            if (p02.Image == pmiss.Image)
            {
                score++;
                p02.Image = phit.Image;
            }
            else
            {
                score--;
                molesmissed++;
            }
        }
    }

您还可以通过为
p01
设置
标记
属性并在代码中检查该属性来测试它是否为pictureBox1。

您好,我想我的思路是对的,我不太明白您的意思;到目前为止,我有这样一个:private void pBox_Click(objectsender,EventArgs e){PictureBox temp=(PictureBox)sender;if(temp.Image==pmiss.Image){score++;makeMoleVisable(1,phit);}else{score--;molesmessed++}}看起来不错。它有效吗?不确定temp.Image==pmiss.Image是否给出了正确的结果。您好,我想我的思路是对的,我只是不太明白您的意思;到目前为止,我有一个:private void pBox_Click(object sender,EventArgs e){PictureBox temp=(PictureBox)发送方;if(temp.Image==pmiss.Image){score++;makeMoleVisable(1,phit);}否则{score--;molesmessed++;}看起来不错。它能工作吗?不确定temp.Image==pmiss.Image是否给出了正确的结果。很抱歉,出于某种原因,它不允许我登录,所以我将像这样发布我的评论。唯一的问题是(1,phit)。这只允许我更改第一个图像。如何让makemoleVisible知道将图像更改为phit的picurebox中的哪个带有摩尔?很抱歉,由于某些原因,它不允许我登录,因此我将这样发布我的评论。唯一的问题是(1,phit)。这只允许我更改第一个图像。如何让makemoleVisible知道哪个带有摩尔的picurebox更改为phit图像?