मान लीजिए कि आप WinForms के लिए पूछ रहे हैं, तो आप FormClosing() event का उपयोग कर सकते हैं। इवेंट फॉर्मक्लोसिंग() किसी भी फॉर्म को बंद होने के लिए ट्रिगर किया जाता है।
यह पता लगाने के लिए कि उपयोगकर्ता या तो एक्स या आपके क्लोजबटन पर क्लिक किया गया है, तो आप इसे प्रेषक ऑब्जेक्ट के माध्यम से प्राप्त कर सकते हैं। प्रेषक को बटन नियंत्रण के रूप में डालने का प्रयास करें, और उदाहरण के लिए, शायद इसके नाम "क्लोजबटन" के लिए सत्यापित करें।
private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
if (string.Equals((sender as Button).Name, @"CloseButton"))
// Do something proper to CloseButton.
else
// Then assume that X has been clicked and act accordingly.
}
अन्यथा, मैंने कभी अंतर करने के लिए है कि क्या एक्स या CloseButton क्लिक किया गया था की जरूरत कभी नहीं किया है, जैसा कि मैंने MDIContainerForm बंद करने, या घटना बिना सहेजे गए परिवर्तन के लिए जाँच से पहले सभी MdiChildren बंद करने की तरह, कुछ FormClosing घटना पर विशेष प्रदर्शन करना चाहता था । इन परिस्थितियों में, हमें किसी भी बटन से अलग करने के लिए, मेरे अनुसार, आवश्यकता नहीं है।
एएलटी + F4 द्वारा बंद करने, FormClosing() घटना को ट्रिगर किया जाएगा यह फार्म है कि बंद करने के लिए कहते हैं एक संदेश भेजता है के रूप में। आप
FormClosingEventArgs.Cancel = true.
की स्थापना हमारे उदाहरण में से घटना रद्द कर सकते हैं, इस होना करने के लिए
e.Cancel = true.
सूचना FormClosing (के बीच अंतर) और FormClosed() घटनाओं अनुवाद होगा।
फॉर्मक्लोज़िंग तब होती है जब फॉर्म को बंद करने के लिए संदेश प्राप्त होता है, और सत्यापित करता है कि इसे बंद होने से पहले कुछ करना है या नहीं।
फॉर्मक्लोज़ होता है जब फॉर्म वास्तव में बंद होता है, इसलिए इसे बंद करने के बाद।
क्या इससे मदद मिलती है?
आपका करीबी बटन क्या मतलब है? –
क्या "बंद करें बटन"? – SLaks
उदाहरण के लिए "ALT + F4" – Bohn