繁体   English   中英

如何在C#中从另一个表单访问一个对象?

[英]How to access one object from another form in C#?

假设我有“Form1”和“Form2”,两者都是表格。 在Form1中有Main Class和Main方法。

在Form1中,我创建了一个对象,如:

public myobject ob1 = new myobject();

但是,在Form2中,我有这个代码:

 private void bdCancelar_Click(object sender, EventArgs e)
    {
        ob1.status = 1; // I can't access ob1 !!!
    }

有帮助吗?

谢谢。

您需要Form1的实例。 通常,如果您已显示此表单,则已将其实例化( Form1 form1 = new Form1() )。 然后,您可以对此实例进行操作并访问公共成员:

form1.ob1.status = 1;

另一种可能性是让你的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;
    }
}

然后当你在Form1中的某个地方并想要创建并显示Form2

var form2 = new Form2(this);
form2.ShowDialog();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM