从类中控制一个PictureBox

本文关键字:一个 PictureBox 控制 | 更新日期: 2023-09-27 18:14:29

我在c#中有一个小项目,(Windows窗体应用程序)。我有在表单77 PictureBoxes (pictureBox1, pictureBox2, pictureBox3,…),我想控制他们,但从一个新的类(Access.cs),通过声明一个新的一个picturebox在类控制所有的图片。

因为如果我遍历每个pictureBox并添加一个click方法,并且每次复制粘贴代码并更改pictureBox编号,那么它就太长了。

我已经将图片设置为公开,并尝试了以下代码:

Access.cs:

using System.Windows.Forms;
public class Access
{
    PictureBox picBox = new PictureBox();
    public void PictureClicked()
    {
        picBox.Image = Properties.Resources.apple;
    }
}

Form1.cs:

private void pictureBox1_Click(object sender, EventArgs e)
{
    Access ac = new Access();
    ac.PictureClicked();
}

但是代码不工作!!

从类中控制一个PictureBox

我真的不明白你想做什么,但你可以试着把对象发送给你的Access类:

private void pictureBox1_Click(object sender, EventArgs e)
{
    Access ac = new Access();
    ac.PictureClicked(sender);
}

 public void PictureClicked(Object Sender)
{
           picBox = (PictureBox)Sender;
           picBox.Image = Properties.Resources.apple;
 }

Access.Cs

 public void pictureBox1_Click(object sender, EventArgs e)
        {
            PictureBox pi = (PictureBox)sender;
            pi.Image = Properties.Resources.alert__2_;
        }

Form1.Cs

 private void pictureBox2_Click(object sender, EventArgs e)
        {
            Form1 c =new Form1();
            c.pictureBox1_Click(sender, e);

        }

这里picturebox2_为所有picturebox点击此事件