2010-07-08 18 views
13

मैं विंडोज फॉर्म एप्लिकेशन से एक गैर-शून्य निकास कोड कैसे वापस कर सकता हूं।विंडोज फॉर्म ऐप से बाहर निकलें कोड

आवेदन। एक्सिट() आवेदन से बाहर निकलने का पसंदीदा तरीका है, लेकिन कोई निकास कोड तर्क नहीं है।

मैं Environment.Exit() के बारे में पता है, लेकिन यह एक अच्छा तरीका आवेदन पाश बंद करने के लिए नहीं है ....

उत्तर

27

Application.Exit सिर्फ Application.Run करने के लिए कॉल के लिए मजबूर (यह program.cs में आम तौर पर है) खत्म करने के लिए। तो आप हो सकता है:

Application.Run(new MyForm()); 
Environment.Exit(0); 

और अभी भी अपने आवेदन कॉल Application.Exit अंदर बंद करने के लिए।

छोटा सा नमूना अपने main विधि एक मूल्य तुम वहाँ से बाहर निकलें कोड लौट सकते हैं रिटर्न

class Program 
{ 
    static int exitCode = 0; 

    public static void ExitApplication(int exitCode) 
    { 
     Program.exitCode = exitCode; 
     Application.Exit(); 
    } 

    public int Main() 
    { 
     Application.Run(new MainForm()); 
     return exitCode; 
    } 
} 

class MainForm : Form 
{ 
    public MainForm() 
    { 
     Program.ExitApplication(42); 
    } 
} 
+0

महान उदाहरण, मुझे जो चाहिए वह बहुत करीब है। – Fedearne

+0

सुनिश्चित करें कि आपके एक्जिटकोड सकारात्मक पूर्णांक हैं, या अन्यथा कमांड प्रॉम्प्ट पर% ERRORLEVEL% आपको नकारात्मक कोड के लिए 0 वापस कर देगा। तो नमूना में, exitCode uint होना चाहिए और ExitAplplication भी यूंट लेना चाहिए। –

+0

धन्यवाद, मुझे वही चाहिए जो मुझे चाहिए। – VivekDev

13

हैं। अन्यथा आप इसे सेट करने के लिए Environment.ExitCode का उपयोग कर सकते हैं।

+2

+1 इसे पूरा करने के लिए शानदार त्वरित तरीका। हालांकि, मेरे पास बहुत बड़ा ऐप कोड है और बाहर निकलने के विभिन्न तरीकों के बहुत सारे ऐप हैं। मैं अपने वर्तमान एप्लिकेशन में वर्चुअलब्लैकफ़ॉक्स द्वारा उदाहरण के साथ जाऊंगा। – Fedearne

+0

यह स्वीकार्य उत्तर होना चाहिए था। – Loudenvier

0

अपने फॉर्म में ईवेंट टैब पर जाएं और क्लिक जगह पर डबल क्लिक करें और फिर कोड स्थान लिखें पर्यावरण। एक्सिट (0);

संबंधित मुद्दे