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

时间:2015-10-21 03:31:33

标签: c# forms function

我是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

1 个答案:

答案 0 :(得分:1)

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

常见的模式是为Form2提供一个构造函数,它将Form1的一个实例作为参数并存储该实例,例如:作为一个领域或财产。

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

然后构建Form2的实例

Form2 form2 = new Form2(someExistingForm1Instance);