2011-10-20 9 views
5

में एप्लिकेशन शटडाउन मैं Environment.Exit(0) का उपयोग करके एक मोनोमैक एप्लिकेशन को बंद करने का प्रयास कर रहा हूं। हालांकि, किसी कारण से यह कॉल वापस नहीं आता है। यह एक अपवाद फेंक नहीं है, या तो। जब मैं मोनो डेवलपमेंट में तत्काल विंडो में फ़ंक्शन निष्पादित करता हूं, तो यह समय समाप्त हो जाता है।मोनोमैक

मुझे नहीं पता कि इसे डिबग करने के तरीके से कैसे संपर्क करें। मैंने सोचा कि पर्यावरण। एक्सिट प्रक्रिया को मारता है ...

उत्तर

6

आपको इसके बजाय NSApplication.Terminate विधि का उपयोग करना चाहिए।

ध्यान दें कि यह विधि समाप्ति की पुष्टि करने के लिए एप्लिकेशन प्रतिनिधि (यदि परिभाषित) को कॉल कर सकती है (NSApplicationDelegate.ApplicationShouldTerminate देखें)।

+3

स्वीट, जो पूरी तरह से काम करता था। मैंने 'NSApplication.SharedAplication कहा। मेरे नियंत्रक में (यह)'। – sohum

3

आप AppDelegate.cs में दो ओवरराइड फ़ंक्शन जोड़ सकते हैं।

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

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