मेरे पास 2 रूप हैं ... जब मैं एप्लिकेशन शुरू करता हूं ... और शीर्षक बार से "एक्स" के करीब उपयोग करता हूं तो पूरा एप्लिकेशन बंद हो जाता है ... अब जब मैं पहले फॉर्म से एक विकल्प चुनता हूं मेरे मामले में यह एक बटन "एडीडी" है क्योंकि यह एक फोनबुक एप्लीकेशन है ... यह दूसरे फॉर्म पर जाता है क्योंकि मैंने 1stform.hide() और 2ndform.show() का उपयोग किया है ... अब जब मैं "एक्स" से करता हूं टाइटल बार यह पूरी तरह से बंद नहीं होता है क्योंकि पहला प्रारूप बंद नहीं होता है .... किसी भी चरण में इसे कैसे प्रोग्राम करना चाहिएसी # फॉर्म को बंद करने के लिए आवेदन
उत्तर
आपका पहला रूप स्टार्टअप फार्म के रूप में स्थापित किया जाएगा। इसका मतलब है कि जब भी यह बंद हो जाता है, तो आपका पूरा आवेदन बंद हो जाता है। और इसके विपरीत, आपका आवेदन तक बंद नहीं होता है, यह बंद हो जाता है। तो जब आप स्टार्टअप फॉर्म को छुपाते हैं और दूसरा फॉर्म दिखाते हैं, तो दूसरा फॉर्म बंद करने वाला उपयोगकर्ता आपके एप्लिकेशन को बंद नहीं करता है क्योंकि उन्होंने केवल एक माध्यमिक, गैर-मोडल संवाद बंद कर दिया है।
मैं आपके डिजाइन को बदलने की सलाह देता हूं ताकि स्टार्टअप फॉर्म मुख्य आपके आवेदन के रूप में भी हो। अंतर्निहित कार्यक्षमता के आसपास काम करने की कोई समझ नहीं है जो वास्तव में उपयोगी हो सकती है। मुख्य फॉर्म बंद होने पर आप आवेदन छोड़ना चाहते हैं, इससे कोई फर्क नहीं पड़ता कि अन्य बच्चे के रूपों को खोला गया है या नहीं।
लेकिन आपके मामले में त्वरित और गंदे समाधान Application.Exit
पर कॉल करना है। यह वर्तमान में खुले रूपों के सभी को बंद कर देगा और तुरंत आपके आवेदन को छोड़ देगा। जैसा कि मैंने उपर्युक्त कहा है, मैं इस दृष्टिकोण की बहुत अधिक अनुशंसा नहीं करता क्योंकि प्रत्येक फॉर्म के FormClosed
ईवेंट हैंडलर से Application.Exit
पर कॉल करना एक संकेत है कि आपके डिजाइन में कुछ गंभीरता से गलत हो गया है।
यदि एकल स्टार्टअप फॉर्म पैराडाइम आपके लिए काम नहीं करता है, तो आपको अपने हाथों में मामलों को लेने और स्रोत फ़ाइल में Main
विधि को अनुकूलित करने के लिए देखना चाहिए। कुछ विचारों के लिए this related question पर दिए गए उत्तरों को देखें कि यह आपके लिए कैसे काम कर सकता है।
+1: अच्छा जवाब! –
CloseEvent क्या है ?? .... क्या मुझे इसे लिखना है ?? –
@ विनोद: मेरा मतलब 'फॉर्मक्लोज्ड' घटना था। दस्तावेज उपलब्ध है [यहां] (http://msdn.microsoft.com/en-us/library/system.windows.forms.form.formclosed.aspx), लेकिन यह केवल 'फॉर्म' वर्ग द्वारा खुलासा किया गया एक नियमित कार्यक्रम है । आप अपने आवेदन में किसी अन्य घटना की तरह ही इसकी सदस्यता ले सकते हैं (उदाहरण के लिए, 'बटन। क्लिक करें')। –
आप क्या कर सकते हैं फॉर्म का FormClosing
ईवेंट का उपयोग करना है, और जोड़ें निम्नलिखित कोड:
Application.Exit();
यह पूरे एप्लिकेशन को रोक देगा, और सभी विंडोज़ बंद कर देगा। हालांकि, अगर पृष्ठभूमि धागा चल रहा है, तो प्रक्रिया ही जीवित रहेगी। इस मामले में आप उपयोग कर सकते हैं:
private void Form_ClosingEventhandler()(object sender, CancelEventArgs e)
{
//Perform any processing if required like saving user settings or cleaning resources
Application.Exit();
}
तो बाँध
एक समापन ईवेंट हैंडलर पहले बनाएँ:
Environment.Exit();
एक पृष्ठभूमि थ्रेड बाहर निकलने से प्रक्रिया को रोकता नहीं है, क्योंकि यह स्वचालित रूप से बंद हो जाता है।आप शायद एक अग्रभूमि धागे का जिक्र कर रहे हैं। –
@ जोआओ एंजेलो - मेरा मतलब यह है कि यदि कई धागे चल रहे हैं, तो केवल जीयूआई थ्रेड नीचे ले जाया जाएगा, और एप्लिकेशन बंद हो जाएगा, लेकिन प्रक्रिया अभी भी प्रक्रिया सूची में है। इंगित करने के लिए धन्यवाद :) –
हर रूपों के समापन घटना
इस तरह पर एक Application.Exit जोड़े यह घटना आपके द्वारा बनाए गए किसी भी रूप में।
//Where you create new form and show it.
Form1 frm= new Form1();
//set other properties
frm.Closing += new EventHandler(Form_ClosingEventhandler);
Form2 frm2= new Form2();
//set other properties
frm2.Closing += new EventHandler(Form_ClosingEventhandler);
मेरे लिए धन्यवाद धन्यवाद! +1 – Vbp
निश्चित रूप से आप उपयोगकर्ता को फ़ोन नंबर जोड़ने के बाद पूरे एप्लिकेशन को बंद नहीं करना चाहते हैं? आपको बस यह सुनिश्चित करने की ज़रूरत है कि आपकी मुख्य विंडो फिर से दिखाई दे। इसे लिखें:
private void AddButton_Click(object sender, EventArgs e) {
var frm = new AddPhoneNumber();
frm.StartPosition = FormStartPosition.Manual;
frm.Location = this.Location;
frm.Size = this.Size; // optional
frm.FormClosing += delegate { this.Show(); };
frm.Show();
this.Hide();
}
- 1. सी # फॉर्म। बंद बनाम फॉर्म।
- 2. कंसोल के आवेदन को बंद करने के लिए कमांड?
- 3. बाहर निकलने के आवेदन के बिना बंद फॉर्म
- 4. सी # संशोधित बंद करने के लिए
- 5. मेरे आवेदन को बंद करने से पीछे बटन को रोकें
- 6. सी # फॉर्म क्यों है। बंद करें() फॉर्म को बंद न करें?
- 7. आंशिक आवेदन और बंद
- 8. सी # विंडोज फॉर्म: बंद करें [प्रक्रिया]
- 9. आवेदन। रुन (फॉर्म) बनाम फॉर्म। शो()?
- 10. फोर्स आवेदन प्रणाली बंद
- 11. एस्केप बटन बंद करने के लिए Windows Forms सी #
- 12. डेटाबेस कनेक्शन को बंद करने के लिए सबसे अच्छी जगह
- 13. बटन को मजबूर करने के लिए, टेक्स्टबॉक्स को संदेश बॉक्स के बाद फॉर्म पर पुनर्निर्मित करने के लिए सी #
- 14. सी # में फॉर्म के बिना आवेदन कैसे करें?
- 15. ओरेकल कनेक्शन को बंद या बंद करने के लिए?
- 16. इंतजार बंद करने के लिए
- 17. एप्लिकेशन को बंद करने के लिए कौन सी घटना बंद है?
- 18. संदेशबॉक्स को प्रोग्रामेटिक रूप से बंद करने के लिए बल
- 19. सी # एक निर्माता के दौरान एक फॉर्म बंद करना
- 20. फॉर्म बंद करने के कारण का पता लगाएं
- 21. सी # बंद प्रक्रियाओं को एक सुंदर तरीके से ट्रे करने के लिए कम से कम?
- 22. सी ++ आवेदन के लिए पर्ल/रुपये जीयूआई
- 23. बंद ईवेंट में बंद फॉर्म को कैसे रद्द करें?
- 24. आवेदन करने के लिए संलग्न करने के लिए 'iisexpress.exe'
- 25. ओपन सोर्स सी # कोड तरंग फॉर्म पेश करने के लिए?
- 26. elasticsearch vs.s. आवेदन करने के लिए मोंगोडीबी
- 27. सी # आवेदन के लिए मार्कर बार?
- 28. स्क्रीन को बंद करने या डिवाइस को सोने के लिए
- 29. आवेदन। वर्तमान। मेनविंडो। बंद बनाम आवेदन। वर्तमान। शटडाउन
- 30. पूर्ण स्क्रीन सी # आवेदन
"किसी भी स्तर पर" क्या आपका मतलब किसी भी रूप में है ?? –
हाँ .. किसी भी रूप से ... मेरे मामले में केवल 3 हैं –