我想做一个基于参数显示/隐藏表格的方法

时间:2018-10-10 09:59:36

标签: c# winforms

到目前为止,这是我的代码:

TickTock frmTick = new TickTock();
frmTick.Show();
frmTick.Activate();
this.Hide();

基本上,我想更改上面的代码,以便可以使用参数确定显示/隐藏的Form

类似的东西

static void changeForm(object form, string i)
{
  form i = new form()
  i.show
}

1 个答案:

答案 0 :(得分:0)

我不确定其中的哪一部分会给您带来麻烦,但是编写这种方法的最简单方法如下所示:

public void SwitchTo<T>() where T : Form, new()
{
    var form = new T();
    form.Show();
    this.Hide();
}

如果您需要能够在要关闭的表单之外实现此方法(这意味着this.Hide()行将不起作用),则可以iterate all open forms并先将其关闭:

public void SwitchTo<T>() where T : Form, new()
{
    foreach (var f in Application.OpenForms) f.Hide();
    var form = new T();
    form.Show();
}

您可以这样称呼它:

SwitchTo<TickTock>();