2015-10-21 75 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); 
的实例时
相关问题