一旦按钮单击form2,请在form1中显示标记



我在 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();

然后您根据情况使用它:

  1. formManager.labeltext();
  2. _form1.labeltext();

最新更新