【发布时间】:2016-03-04 04:41:22
【问题描述】:
如果您正在用 C# 构建一个 windows 窗体应用程序,并且每当用户从另一个窗体打开一个窗体时,第一个窗体就会被隐藏,如果所有窗体都被隐藏,您将如何让应用程序退出?
我会在静态类中拥有所有表单的实例,并且每次用户隐藏表单时让应用程序循环遍历所有表单的状态,如果所有表单都被隐藏,则退出应用程序。这是一个好方法吗?
【问题讨论】:
-
对我来说听起来是个不错的尝试。试一试,让我们知道。
如果您正在用 C# 构建一个 windows 窗体应用程序,并且每当用户从另一个窗体打开一个窗体时,第一个窗体就会被隐藏,如果所有窗体都被隐藏,您将如何让应用程序退出?
我会在静态类中拥有所有表单的实例,并且每次用户隐藏表单时让应用程序循环遍历所有表单的状态,如果所有表单都被隐藏,则退出应用程序。这是一个好方法吗?
【问题讨论】:
通常在这种情况下,您会创建一个ApplicationContext,然后将其传递给Application.Run(,而不是一个特定的表单。
如果您查看 ApplicationContext 的 MSDN 页面,它有一个启动两个表单的示例,然后只有在两个表单都关闭时才关闭程序。您可以让自己的程序使用您想要的任何逻辑,例如使用隐藏而不是关闭来触发ExitThread() 调用。
【讨论】: