如何从另一个类访问表单元素
本文关键字:访问表 表单 元素 访问 另一个 | 更新日期: 2023-09-27 18:06:32
我有以下代码
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;
}
}
}
我有一个图片框的形式,我想从类飞船访问图片框,但我不能访问它。如何做到这一点?
[EDITED]你可以这样访问:
public class spaceship
{
Image myimage = Image.FromFile("image/Untitled6.png");
Form1 myform = new Form1();
spaceship()
{
myform.pictureBox1.Image = myimage;
}
}
看这里
与其使用公共字段,不如创建一个公共属性From1。
将图像设置为图片框。这允许你实现检查,如果需要的话跨线程安全,并且在不改变太空船类的情况下用其他东西交换PictureBox。
阅读这篇文章:SO公共字段/属性来了解和了解将字段公开化的风险。
public partial class Form1 : Form
{
public Image MyImage
{
get { return pictureBox1.Image; }
set {
//do some checks if neccessary
pictureBox1.Image = value;
}
}
public Form1()
{
InitializeComponent();
}
}