假设我有"Form1"和"Form2",两者都是表格.在Form1中有Main Class和Main方法.
在Form1中,我创建了一个对象,如:
public myobject ob1 = new myobject();
Run Code Online (Sandbox Code Playgroud)
但是,在Form2中,我有这个代码:
private void bdCancelar_Click(object sender, EventArgs e)
{
ob1.status = 1; // I can't access ob1 !!!
}
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
谢谢.
你需要一个实例Form1.通常,如果您已显示此表单,则已实例化它(Form1 form1 = new Form1()).然后,您可以对此实例进行操作并访问公共成员:
form1.ob1.status = 1;
Run Code Online (Sandbox Code Playgroud)
另一种可能性是让你的Form2构造函数接受一个Form1实例:
public class Form2: Form
{
private readonly Form1 _form1;
public Form2(Form1 form1)
{
_form1 = form1;
}
private void bdCancelar_Click(object sender, EventArgs e)
{
_form1.ob1.status = 1;
}
}
Run Code Online (Sandbox Code Playgroud)
然后当你在某个地方Form1并希望创建和展示时Form2:
var form2 = new Form2(this);
form2.ShowDialog();
Run Code Online (Sandbox Code Playgroud)