【问题标题】:I would like to make a method that shows/hides forms based on parameters我想做一个基于参数显示/隐藏表单的方法
【发布时间】:2018-10-11 06:47:40
【问题描述】:

这是我目前的代码:

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

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

类似的东西;

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

【问题讨论】:

  • 那么您的具体问题是什么?

标签: c# winforms


【解决方案1】:

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

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>();

【讨论】:

    猜你喜欢
    • 2017-12-29
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 2019-05-12
    • 2012-09-18
    相关资源
    最近更新 更多