मैं इसे फॉर्म के अंदर बंद करें। क्लोज़() को फॉर्म के अंदर बंद करना चाहता हूं।प्रोग्रामेटिक क्लोजरसन सेट करना
आमतौर पर, यह फॉर्म स्वयं इसे कॉल करके बंद कर दिया जाता है। बंद करें(), लेकिन मैं उपयोगकर्ता से पूछना चाहता हूं कि क्या वे वास्तव में फॉर्म को बंद करना चाहते हैं, और कुछ जानकारी के साथ एक मेलबॉक्स भेजना चाहते हैं। लेकिन मेरे पास यह है:
protected override void OnFormClosing(FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
if (MessageBox.Show("¿Desea Salir realmente?\nLa factura aun no ha sido pagada por lo que volverá a la pantalla anterior y podrá seguir agregando productos") == DialogResult.No)
{
e.Cancel = true;
}
}
base.OnFormClosing(e);
}
लेकिन हर बार जब मैं इसे कॉल करता हूं। बंद करें(); CloseReason हमेशा UserClosing है।
क्या मैं इसे कॉल के बाद सेट कर सकता हूं या मुझे ऑनफॉर्म क्लोजिंग को अलग करना होगा?
protected override void OnFormClosing(FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing && !appClosing)
{
if (MessageBox.Show("¿Desea Salir realmente?\nLa factura aun no ha sido pagada por lo que volverá a la pantalla anterior y podrá seguir agregando productos") == DialogResult.No)
{
e.Cancel = true;
}
}
base.OnFormClosing(e);
}
बीटीडब्लू: संदेशबॉक्स.शो() अधूरा है क्योंकि मैंने इसे यहां लिखा है, वीएस – josecortesp
में नहीं, मैंने यह भी पाया है कि फॉर्म.क्लोस() को कॉल करने के लिए बंदरगाह हमेशा उपयोगकर्ता क्लोजिंग होना प्रतीत होता है। यह थोड़ा मूर्खतापूर्ण है क्योंकि उपयोगकर्ता क्लोजिंग वास्तव में तब उत्पन्न होनी चाहिए जब उपयोगकर्ता बंद बटन दबाए, सिस्टम मेनू से बंद हो या Alt + F4 का फॉर्म चुनें। –