سؤال

I'm trying to shutdown a MonoMac application by using Environment.Exit(0). However, this call for some reason does not return. It does not throw an exception, either. When I execute the function in the immediate window in MonoDevelop, it times out.

I have no idea how to approach debugging this. I thought that Environment.Exit kills the process...

هل كانت مفيدة؟

المحلول

You should use the NSApplication.Terminate method instead.

Note that this method may call the application delegate (if defined) to confirm the termination (See NSApplicationDelegate.ApplicationShouldTerminate).

نصائح أخرى

You may add two override functions in AppDelegate.cs.

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

public override bool ApplicationShouldTerminateAfterLastWindowClosed(NSApplication sender)
{
    return true;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top