2017-03-09 54 views
0

我將LabelText設置爲在Form1中不可見,並且我在Form2中設置了button。如果我在Form2中登記button,則Form1中的LabelText將會顯示。但是,我試圖找出它,它仍然無法正常工作。使Form1中的LabelText一旦在Form2中點擊按鈕即可見

在Form1:

public void LabelText() 
{ 
    label1.Visible = true; 
} 

在窗體2:

Form1 frm1 = new Form1(); 
frm1.LabelText(); 

回答

2

您正在創建的新Form1實例,而不是使用現有您以前顯示。

您可以 1.使用靜態類,以保持所有的手柄 或 2.通在Form2的構造函數Form1的實例

1.

internal static class FormManager 
{ 
    public static Form1 Form1Handle; 
    public static Form2 Form2Handle; 
} 

,然後在構造函數中

public Form1() 
{ 
    FormManager.Form1Handle = this; 
} 

和Form2的相應或

2. 覆蓋Form2的構造函數

private Form1 _form1;

public Form2(Form1 form1Handle) 
{ 
    _form1 = form1Handle; 
} 

,然後從Form1中這樣調用窗體2:

Form2 f2 = new Form2(this); 
f2.ShowDialog(); 

然後u使用它取決於情況:

  1. FormManager.LabelText();
  2. _form1.LabelText();
相關問題