我在 Form1
中设置了我的 LabelText
不可见,并且我在 Form2
中具有此button
。有一次,如果我将button
夹在Form2
中,则可以看到Form1
中的LabelText
。但是,我正在尝试弄清楚它,但它仍然无法正常工作。
在Form1中:
public void LabelText()
{
label1.Visible = true;
}
在Form2中:
Form1 frm1 = new Form1();
frm1.LabelText();
您正在创建Form1
的新实例,而不是使用以前显示的现有实例。
你可以 1.使用静态课程保持所有手柄或者 2.将form1实例传递到form2 ctor
中即。
1。
internal static class FormManager
{
public static Form1 Form1Handle;
public static Form2 Form2Handle;
}
,然后在构造函数
中public Form1()
{
FormManager.Form1Handle = this;
}
和for Form2相应或
2。覆盖form2 ctor
private Form1 _form1;
public Form2(Form1 form1Handle)
{
_form1 = form1Handle;
}
然后从form1呼叫form2:
Form2 f2 = new Form2(this);
f2.ShowDialog();
然后您根据情况使用它:
- formManager.labeltext();
- _form1.labeltext();