C# 关闭窗口会杀死整个应用程序

C# 关闭窗口会杀死整个应用程序,c#,mono,gtk,C#,Mono,Gtk,我有一个有几个窗户的房间。除了一个窗口在我关闭它时使整个应用程序崩溃之外,所有窗口都按预期运行。现在,这里的问题是,这是我创建应用程序时唯一的窗口,所以在一开始这是一个特性。但是,当我更改入口点时,当另一个窗口成为主窗口时,我删除了Application.Quit();但这并不能阻止他杀掉这个应用程序。通过查看违规窗口的代码,我无法理解为什么它退出时会杀死整个应用程序 有什么想法吗?如果其他表单以某种方式引用该表单,那么代码是否可能?它会崩溃还是只是优雅地关闭?这是设计的,您创建的第一个窗口被指

我有一个有几个窗户的房间。除了一个窗口在我关闭它时使整个应用程序崩溃之外,所有窗口都按预期运行。现在,这里的问题是,这是我创建应用程序时唯一的窗口,所以在一开始这是一个特性。但是,当我更改入口点时,当另一个窗口成为主窗口时,我删除了Application.Quit();但这并不能阻止他杀掉这个应用程序。通过查看违规窗口的代码,我无法理解为什么它退出时会杀死整个应用程序


有什么想法吗?

如果其他表单以某种方式引用该表单,那么代码是否可能?它会崩溃还是只是优雅地关闭?这是设计的,您创建的第一个窗口被指定为应用程序的主窗口。关闭主窗口将终止应用程序。您可以自己使用ApplicationContext类来处理这个问题,但不能100%确定Mono是否拥有它。应该是这样的。@kmcc049当然,表单是从这里调用的:它不会抛出任何异常,所以我想它会优雅地关闭。@Hans似乎ApplicationContext在System.Windows.Forms中。嗯,我没有用那个,我用的是GTK#。。。没错,WinForms是使用AppContext的先决条件吗?