如何在C#中使用Application.Run两次(串行)

时间:2016-03-15 02:03:18

标签: c# winforms

我想依次显示两种不同的形式。这里是 Main()函数。

  [STAThread]
  static void Main() {
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    Application.Run(new AccountForm());

    Application.Run(new MainForm());
  }

当我运行它时,AccountForm会正常显示, 然后创建MainForm和Form_Load 调用event,但MainForm永远不会 显示,程序立即退出。

如果 运行(AccountForm)行被注释,MainForm DOES显示 正常。

显然,当使用Application.Exit()关闭AccountForm时, 这是由Application对象记住的,它不会启动 下次调用Run时的另一个消息循环。

任何想法如何使这项工作?

已添加信息,已解决!

jmcilhinney提出了一个简单的建议来关闭表单,而不是调用Application.Exit()。这非常有效。代码简单而干净。谢谢!

例如,有没有办法 重置“应用程序”对象的状态?

在Windows下用C#编写。

在实际使用中,将有关于是否运行每个的标准 片。有时,只会运行第一个,有时只运行 第二个,有时两个。所以这个语法很多 比我考虑的其他选项更简单。

作为对此的重复: 另一个用户希望他的表单同时显示 独立。他的情况可以通过建议来处理 在那篇文章中。这些解决方案不适用于表格 顺序显示。 (或者至少不会干净利落地工作。) 我真的想避免构建一些了解的复杂逻辑 形式和每种形式的状态,并根据需要显示和销毁它们。 我建议的顺序操作很简单,非常非常干净。 看起来C#的开发人员可能从未考虑过任何人 会这样做。

0 个答案:

没有答案