2011-10-20 26 views
5

Tôi đang cố gắng tắt ứng dụng MonoMac bằng cách sử dụng Environment.Exit(0). Tuy nhiên, cuộc gọi này vì một số lý do không trả lại. Nó cũng không ném ngoại lệ. Khi tôi thực hiện chức năng trong cửa sổ ngay lập tức trong MonoDevelop, nó lần ra ngoài.Tắt ứng dụng trong MonoMac

Tôi không biết cách tiếp cận gỡ lỗi này. Tôi nghĩ rằng Environment.Exit sẽ giết chết quá trình này ...

Trả lời

6

Thay vào đó, bạn nên sử dụng phương thức NSApplication.Terminate.

Lưu ý rằng phương pháp này có thể gọi cho đại biểu ứng dụng (nếu được xác định) để xác nhận việc chấm dứt (Xem NSApplicationDelegate.ApplicationShouldTerminate).

+3

Ngọt ngào, hoạt động hoàn hảo. Tôi gọi là 'NSApplication.SharedApplication.Terminate (this)' trong bộ điều khiển của tôi. – sohum

3

Bạn có thể thêm hai hàm ghi đè trong AppDelegate.cs.

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

public override bool ApplicationShouldTerminateAfterLastWindowClosed(NSApplication sender) 
{ 
    return true; 
} 
Các vấn đề liên quan