是否可以为打开/关闭表单创建自定义方法

本文关键字:表单 创建 自定义方法 是否 | 更新日期: 2023-09-27 18:28:51

所以我点击了这3个按钮。

private void btn_OpenNotePad_Click(object sender, EventArgs e)
{
    this.Hide();
    Form2 forma_NotePad = new Form2();
    forma_NotePad.ShowDialog();
    this.Close();
}
private void btn_OpenPaint_Click(object sender, EventArgs e)
{
    this.Hide();
    Form3 forma_Paint = new Form3();
    forma_Paint.ShowDialog();
    this.Close();
}
private void btn_ContactAdmin_Click(object sender, EventArgs e)
{
    this.Hide();
    Form4 forma_ContactAdmin = new Form4();
    forma_ContactAdmin.ShowDialog();
    this.Close();
}

它们都很相似,所以我想有可能为它们创建一种方法吗?类似于:

private void OpenForm(parameter1, parameter2)
{
    this.Hide();
    parameter1 parameter2 = new parameter1();
    parameter2.ShowDialog();
            this.Close();
}

所以我可以称他们为

OpenForm(parameter1,parameter2);

并使我的代码更短、更干净。

是否可以为打开/关闭表单创建自定义方法

当然可以用一个单独的方法重构这个功能:

private void btn_OpenNotePad_Click(object sender, EventArgs e)
{
    Open<Form2>();
}
private void btn_OpenPaint_Click(object sender, EventArgs e)
{
    Open<Form3>();
}
private void btn_ContactAdmin_Click(object sender, EventArgs e)
{
    Open<Form4>();
}
private void Open<TForm>() where TForm: Form, new()
{
    this.Hide();
    new TForm().ShowDialog();
    this.Close();
}