जब मैं बंद हो जाता हूं तो मैं अपने विंडोज़ फॉर्म को कुछ करने के लिए कैसे प्राप्त कर सकता हूं।सी # विंडोज फॉर्म: बंद करें [प्रक्रिया]
उत्तर
FormClosed
ईवेंट संभाल लें।
ऐसा करने के लिए, प्रॉपर्टी विंडो में ईवेंट टैब पर जाएं और इसके लिए हैंडलर जोड़ने के लिए FormClosed
ईवेंट को डबल-क्लिक करें।
फिर आप अपना कोड जेनरेट MyForm_FormClosed
हैंडलर में डाल सकते हैं।
आप OnFormClosed
विधि को ओवरराइड करके भी ऐसा कर सकते हैं; ऐसा करने के लिए, कोड विंडो में override onformcl
टाइप करें और IntelliSense से OnFormClosed
टाइप करें।
यदि आप फॉर्म को बंद होने से रोकने में सक्षम होना चाहते हैं, तो FormClosing
ईवेंट को इसके बजाय संभाल लें, और e.Cancel
true
पर सेट करें।
अपने फॉर्म के लिए FormClosed ईवेंट में एक ईवेंट हैंडलर जोड़ें।
public class Form1
{
public Form1()
{
this.FormClosed += MyClosedHandler;
}
protected void MyClosedHandler(object sender, EventArgs e)
{
// Handle the Event here.
}
}
उस घटना को – Ian
@Ian - इसे ठीक कर दिया गया है। –
WinForms में दो घटनाएं हैं जिन्हें आप देखना चाहते हैं।
पहला, FormClosing
ईवेंट, फॉर्म वास्तव में बंद होने से पहले होता है। इस घटना में, आप अभी भी फॉर्म के वर्ग में किसी भी नियंत्रण और चर का उपयोग कर सकते हैं। आप e.Cancel = true;
को सेट करके बंद फॉर्म को भी रद्द कर सकते हैं (जहां e
System.Windows.Forms.FormClosingEventArgs
FormClosing
पर दूसरा तर्क के रूप में भेजा गया है)।
दूसरा, FormClosed
ईवेंट, फॉर्म बंद होने के बाद होता है। इस बिंदु पर, आप फ़ॉर्म के किसी भी नियंत्रण तक नहीं पहुंच सकते हैं, हालांकि आप अभी भी चर पर सफाई कर सकते हैं (जैसे बंद संसाधन प्रबंधित संसाधन)।
'फॉर्मक्लोसिंग' और 'फॉर्मक्लोज्ड' का उपयोग करने के लिए इसे 'बंद करने' और 'बंद' के रूप में अपडेट करने के लिए अपडेट किया गया है। – Powerlord
प्लस 2 यह समझने के लिए कि आपने इसे और किस से अपडेट किया है। – AidanO
क्या यह निश्चित रूप से "सभी चर" के साथ-साथ फ़ॉर्म पर नियंत्रण भी है?मैंने अभी कोशिश की है और फॉर्म क्लास के 2 फ़ील्ड (फॉर्म से विरासत में मिला है) का संदर्भ दिया है और उन्हें ठीक से एक्सेस किया जा सकता है - फॉर्मक्लोज्ड इवेंट – PandaWood
public FormName()
{
InitializeComponent();
this.FormClosed += FormName_FormClosed;
}
private void FormName_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e)
{
//close logic here
}
या किसी अन्य विकल्प System.Windows.Forms.Form से OnFormClosed() या OnFormClosing() पद्धतियों ओवरराइड करने के लिए है।
चाहे आपको इस विधि का उपयोग करना चाहिए, समस्या के संदर्भ पर निर्भर करता है, और जब फॉर्म को कई बार वर्गीकृत किया जाएगा और उन्हें सभी को एक ही कोड करने की आवश्यकता होगी तो अधिक उपयोग योग्य होगा।
घटनाएं एक या दो उदाहरणों के लिए अधिक उपयोगी हैं यदि आप एक ही काम कर रहे हैं।
public class FormClass : Form
{
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
// Code
}
}
सिंटेक्स:
form_name.ActiveForm.Close();
उदाहरण:
{
Form1.ActiveForm.close();
}
- 1. सी # फॉर्म। बंद बनाम फॉर्म।
- 2. सी # विंडोज फॉर्म
- 3. .NET विंडोज फॉर्म - बंद एक्स ईवेंट
- 4. सी # विंडोज फॉर्म
- 5. सी # विंडोज फॉर्म
- 6. सी # विंडोज फॉर्म
- 7. सी # विंडोज फॉर्म
- 8. सी # फॉर्म क्यों है। बंद करें() फॉर्म को बंद न करें?
- 9. सी # विंडोज फॉर्म बैककलर को पुनर्स्थापित करें
- 10. विंडोज फॉर्म: बंद करें (एक्स) बटन कैसे छिपाना है?
- 11. विंडोज फॉर्म फॉर्म
- 12. विंडोज फॉर्म
- 13. विंडोज फॉर्म
- 14. विंडोज फॉर्म
- 15. सी # विंडोज फॉर्म ट्री व्यू लेबलएडिट
- 16. विंडोज फॉर्म इवेंट "टैब का चयन करें"?
- 17. विंडोज फॉर्म
- 18. विंडोज फॉर्म
- 19. विंडोज फॉर्म
- 20. विंडोज फॉर्म
- 21. विंडोज फॉर्म
- 22. विंडोज फॉर्म
- 23. विंडोज फॉर्म
- 24. विंडोज फॉर्म
- 25. विंडोज फॉर्म
- 26. बंद ईवेंट में बंद फॉर्म को कैसे रद्द करें?
- 27. डब्ल्यूपीएफ या विंडोज फॉर्म
- 28. कंसोल से विंडोज फॉर्म + कमांड सी #
- 29. अनियमित आकार का विंडोज फॉर्म (सी #)
- 30. विंडोज फॉर्म में स्टफ जब अधिकतम - सी #
कोई "बंद" घटना, केवल "FormClosed" है - काफी unintuitive –
@hello_earth: एक 'Closed' घटना हुई थी नेट 1 में; इसे विभिन्न मुद्दों के कारण .NET 2.0 में बदल दिया गया था। मूल 'बंद' घटना अभी भी संगतता के लिए है, लेकिन छुपा हुआ है। – SLaks