यदि आपके पास पहले से फॉर्म बंद करने वाले फॉर्म पर कोई बटन है, तो आप यह फ़ॉर्म करने के लिए फ़ॉर्म पर एक संपत्ति सेट कर सकते हैं।
CancelButton
उस बटन के फॉर्म को सेट करें।
हो जाता है या बटन नियंत्रण है जो उपयोगकर्ता द्वारा Esc कुंजी प्रेस क्लिक किया जाता है निर्धारित करता है।
आप एक बटन को रद्द नहीं है, तो फिर आप एक KeyDown
हैंडलर जोड़ने और उस में Esc कुंजी के लिए जाँच करने की आवश्यकता होगी:
private void Form_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
this.Close();
}
}
तुम भी KeyPreview
गुण सेट करना होगा सच में
फ़ोकस वाले नियंत्रण में ईवेंट पारित होने से पहले फॉर्म को महत्वपूर्ण घटनाएं प्राप्त होंगी या नहीं, यह दर्शाता है कि फ़ॉर्म को महत्वपूर्ण घटनाएं मिलेंगी या नहीं।
लेकिन, जैसा कि Gargo उसकी answer में बताते हैं इसका मतलब यह होगा कि Esc दबाने संवाद में एक नियंत्रण पर एक संपादन निरस्त करने के लिए भी संवाद को बंद करने का असर पड़ेगा। से बचने के लिए कि ProcessDialogKey
विधि ओवरराइड इस प्रकार है:
protected override bool ProcessDialogKey(Keys keyData)
{
if (Form.ModifierKeys == Keys.None && keyData == Keys.Escape)
{
this.Close();
return true;
}
return base.ProcessDialogKey(keyData);
}
वैकल्पिक समाधान के लिए इस धागे पर हंस Passant के जवाब देखें: http://stackoverflow.com/questions/2290959/escape-button-to-close-winform-in-c-sharp – RenniePet