2012-09-14 12 views
6

मैं एप्लिकेशन को बंद करने से पहले इस कोड का उपयोग प्रश्न के लिए कर रहा हूं, लेकिन यह सही तरीके से काम नहीं कर रहा है।
मेरा कोड नीचे जैसा है।फॉर्म क्लोजिंग पर संदेशबॉक्स

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    DialogResult dlgresult = MessageBox.Show("Exit or no?", 
           "My First Application", 
           MessageBoxButtons.YesNo, 
           MessageBoxIcon.Information); 
    if (dlgresult == DialogResult.No) 
    { 
     e.Cancel = true; 

    } 
    else 
    { 
    Application.Exit(); 
    } 
} 
+1

यह किस त्रुटि में फेंकता है? –

+0

प्रतिक्रिया देने के बाद यह फिर से सवाल का अनुरोध करता है और – Federal09

उत्तर

15

आप स्पष्ट रूप से Application.Exit() कॉल करने के लिए जब से तुम FormClosing घटना है जो समापन अनुरोध ट्रिगर की जा रही है इसका मतलब में हैं की जरूरत नहीं है (उदा। प्रपत्र बटन, this.Close() पर क्रूस पर क्लिक करें)। आपको केवल बंद करने के अनुरोध को रोकने की आवश्यकता है और e.Cancel = true;

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    if(MessageBox.Show("Exit or no?", 
         "My First Application", 
         MessageBoxButtons.YesNo, 
         MessageBoxIcon.Information) == DialogResult.No) { 
     e.Cancel = true; 
    } 
} 
+0

को बहुत करीब बंद करता है =) – Federal09

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