MonoMac中的应用程序关闭

时间:2011-10-20 22:38:49

标签: c# exit monomac

我正在尝试使用Environment.Exit(0)关闭MonoMac应用程序。但是,由于某种原因,此呼叫不会返回。它也不会抛出异常。当我在MonoDevelop的立即窗口中执行该函数时,它会超时。

我不知道如何进行调试。我以为Environment.Exit杀死了这个过程...

2 个答案:

答案 0 :(得分:6)

您应该使用NSApplication.Terminate方法。

请注意,此方法可以调用应用程序委托(如果已定义)以确认终止(请参阅NSApplicationDelegate.ApplicationShouldTerminate)。

答案 1 :(得分:3)

您可以在AppDelegate.cs中添加两个覆盖功能。

public override NSApplicationTerminateReply ApplitionShouldTerminate(NSApplication sender) 
{
    mainWindowController.Window.Close();
    return NSApplicationTerminateReply.Now;
}

public override bool ApplicationShouldTerminateAfterLastWindowClosed(NSApplication sender)
{
    return true;
}