2010-06-21 11 views
5

क्या मेनफॉर्म को एप्लिकेशन शुरू करने की प्रक्रिया के दौरान पूरी तरह लोड होने से रोकना संभव है (सुनिश्चित नहीं है कि इसे कैसे कहा जाता है, घटक प्रारंभिकरण शायद)?पूरी तरह से लोड होने से पहले एप्लिकेशन को कैसे बंद करें?

मैं कोशिश की है:

public MainForm() 
{ 
    if (true) 
    { 
     Application.Exit(); 
     return; 
    } 
    InitializeComponent(); 
} 

और

public MainForm() 
{ 
    if (true) 
    { 
     this.Close(); 
     Application.Exit(); 
     return; 
    } 
    InitializeComponent(); 
} 

और बिना "लौटने," भी।

पहला व्यक्ति वास्तव में कुछ भी नहीं करता है, जबकि दूसरा समाधान "एक डिस्पोजेड ऑब्जेक्ट तक नहीं पहुंच सकता है।" त्रुटि?

क्या यह पूरी तरह से लोड होने से पहले पूरे एप्लिकेशन को बंद करना भी संभव है?

बस इसे स्पष्ट करने के लिए मैं डेटाबेस कनेक्शन समस्या के मामले में एप्लिकेशन को लोड होने से रोकना चाहता हूं।

+3

शायद मुख्य रूप से कन्स्ट्रक्टर को कॉल करने से पहले डेटाबेस कनेक्टिविटी की जांच करना बेहतर होगा? जैसे "लोडिंग" स्प्लैश स्क्रीन होने के कारण जो अनुप्रयोग कार्य करने के लिए सभी आवश्यक शर्तें जांचता है। यदि कोई चेक विफल रहता है तो वह उस बिंदु पर निरस्त हो सकता है। यदि सभी चेक पास हो जाते हैं, तो मुख्य फॉर्म लोड हो सकता है। –

+0

इसे इंगित करने के लिए धन्यवाद, जबकि मैंने इसे बिल्कुल नहीं माना है। यह शायद मेरी सामान्य समस्या का सबसे अच्छा समाधान होगा। – Marek

उत्तर

6

Environment.Exit को here वर्णित करने का प्रयास करें।

9

जैसा कि हो 1 ने कहा, Environment.Exit उत्तर है। उदाहरण के लिए:

public MainForm() 
{ 
    if (true) 
    { 
     Environment.Exit(0); 
    } 
    InitializeComponent(); 
} 

कि आवेदन का कारण होगा बंद करने के लिए अगर हालत अगर-बयान में true है।

0

मुझे लगता है कि rob_g द्वारा दिया गया उत्तर जाने का तरीका है। फॉर्म को दिखाने से पहले डाटाबेस प्रारंभ और मान्य होने के कारण मेरी राय में सबसे अच्छा समाधान है! आप फॉर्म कन्स्ट्रक्टर से अनावश्यक तर्क भी हटाते हैं, क्योंकि फ़ॉर्म को वास्तव में डीबी प्रारंभिकता की परवाह नहीं करनी चाहिए।

+0

जैसा कि मैंने प्रश्न के नीचे कहा है, यह शायद सामान्य समस्या का सबसे अच्छा समाधान है, जिसे मैं विकसित करने जा रहा हूं। – Marek

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