0

我在 C# 中有一个小项目(Windows 窗体应用程序)。我有 77 个图片框 (pictureBox1, pictureBox2, pictureBox3, ...) 的形式,我想控制它们,但要从一个新类 (Access.cs) 中,通过在类中声明一个新的图片框来控制所有图片。

因为如果我通过每个pictureBox并添加一个click方法并复制+粘贴代码并每次更改pictureBox编号会太长。

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

访问.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();
}

但是代码不起作用!

4

2 回答 2

3

我真的不明白你想要做什么,但你可以尝试将对象发送到你的 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;
 }
于 2013-05-21T10:07:06.867 回答
1

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的这个事件

于 2013-05-21T10:18:27.617 回答