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

本文关键字:创建 Form Form2 访问 函数 Form1 | 更新日期: 2023-09-27 18:18:45

我是c#新手

作为我现在面临的问题:

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

是无论如何,除了使用Form1 fs =新的Form1()创建另一个新的形式之前,我可以访问fs. snooze () ?因为这将使我的应用程序出现2 Form1

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

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

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

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

那么当构造Form2的实例时

Form2 form2 = new Form2(someExistingForm1Instance);