如何从其他方法访问PictureBox
本文关键字:访问 PictureBox 方法 其他 | 更新日期: 2023-09-27 17:58:42
为了使我的问题尽可能简短,这是我的代码。我把我的错误写下来。
public partial class VH : Form
{
public VH()
{
InitializeComponent();
//I can reach the pictureBox1 from here, but that's not what I want.
}
public static List<PictureBox> listPB;
public static bool mV()
{
bool Test = true;
listPB = new List<PictureBox>();
listPB.Add(pictureBox1); // <--- ERROR: An object reference is required for the non-static field, method, or property '...pictureBox1'
return Test;
}
我知道我必须以某种方式使PictureBox
静态或可用,但我不知道如何做到。
我猜picturebox1是您在设计器中添加的VH控件。
现在对代码来说,"static"意味着函数、变量或其他可以标记为static的东西不绑定到类的实例。
因此,目前从另一个类调用VH.listPB或VH.mV()是绝对有效的,因此您会得到错误。picturebox1不是静态的,它需要VH的实例化,但mV()可以在没有VH的底层实例化的情况下调用。
public bool mV()
{
bool Test = true;
listPB = new List<PictureBox>();
listPB.Add(pictureBox1);
return Test;
}
如果没有静态,代码是有效的,尽管不是很有用。