6

を使用してMonoMacアプリケーションをシャットダウンしようとしていEnvironment.Exit(0)ます。ただし、何らかの理由でこの呼び出しは返されません。例外もスローしません。MonoDevelopのイミディエイトウィンドウで関数を実行すると、タイムアウトになります。

これをデバッグする方法がわかりません。私はEnvironment.Exitがプロセスを殺すと思いました...

4

2 に答える 2

6

代わりにNSApplication.Terminateメソッドを使用してください。

このメソッドは、終了を確認するためにアプリケーション デリゲート (定義されている場合) を呼び出す場合があることに注意してください ( NSApplicationDelegate.ApplicationShouldTerminateを参照してください)。

于 2011-10-21T07:09:00.520 に答える
3

AppDelegate.cs に 2 つのオーバーライド関数を追加できます。

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

public override bool ApplicationShouldTerminateAfterLastWindowClosed(NSApplication sender)
{
    return true;
}
于 2012-11-07T03:18:40.363 に答える