如何从Form2访问Form1函数而不创建新的Form();

我是C#的新手

正如我现在面临的问题:

public void snz_btn_Click(object sender, EventArgs e) { this.Close(); //beside than this? Form1 fs = new Form1(); fs.Snooze(); } 

无论如何,除了使用Form1 fs = new Form1()之外,在我可以访问fs.Snooze()之前创建另一个新表单? 因为这会使我的应用程序显示为2 Form1

如果要访问Form1的现有实例,则需要以某种方式使该实例可用于Form2。

常见的模式是为Form2提供构造函数,该构造函数将Form1的实例作为参数并将该实例存储为例如字段或属性。

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

然后在构造Form2的实例时

 Form2 form2 = new Form2(someExistingForm1Instance);