2

我有以下代码

   namespace Spaceship_Invaders
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                Image myImage = Image.FromFile("image/Untitled.png");
                pictureBox1.Image = myImage;
            }

            public class spaceship { 
                Image myimage = Image.FromFile("image/Untitled6.png");
                Form1 myform = new Form1();
                 myform.pictureBox1.Image = myimage;            


            }

        }
    }

我的表格中有一个图片框,我想从类宇宙飞船访问图片框,但我无法访问它。这该怎么做?

4

2 回答 2

1

[已编辑]您可以通过以下方式访问它:

public class spaceship
{ 
    Image myimage = Image.FromFile("image/Untitled6.png");
    Form1 myform = new Form1();

    spaceship()
    {
        myform.pictureBox1.Image = myimage;             
    }
}

看看这里

于 2013-03-29T10:10:28.323 回答
0

与其取消公共字段,不如创建一个公共属性 From1.TheImage 来将图像设置为 PictureBox。

这允许您实现检查、跨线程安全(如果需要)以及在不更改 SpaceShip 类的情况下将 PictureBox 与其他东西交换。

阅读这篇文章:SO public fields/properties以了解和了解将字段公开的风险。

    public partial class Form1 : Form
    {

        public Image MyImage
        {
            get { return pictureBox1.Image; }
            set { 
                  //do some checks if neccessary
                  pictureBox1.Image = value; 
                }
        }

        public Form1()
        {
            InitializeComponent();
        }
    }
于 2013-03-29T10:15:09.023 回答