2015-10-21 76 views
0

我對C#如何從Form2訪問Form1函數而不創建新的Form();

新手當我面對現在的問題是:

public void snz_btn_Click(object sender, EventArgs e) 
     { 
      this.Close(); 

//beside than this? 
Form1 fs = new Form1(); 
fs.Snooze(); 

     } 

那是不是使用Form1中FS =新Form1的(),它創建另一個新的表格前,我可以訪問FS反正等。打盹() ??因爲這會使我的應用程序出現2 Form1

回答

1

如果要訪問Form1的現有實例,則需要以某種方式使該實例可用於Form2。

常見模式是爲Form2提供一個構造函數,該構造函數將Form1的實例作爲參數並存儲該實例,例如作爲一個領域或財產。

private Form1 form1; 
public Form2(Form1 form1) 
{ 
    this.form1 = form1; 
} 

然後構建窗體2

Form2 form2 = new Form2(someExistingForm1Instance); 
的實例時
相關問題