2015-05-29 7 views
5

मेरे पास एक बटन के साथ एक फॉर्म 1 है। आप बटन क्लिक करते, इस कोड को ब्लॉक निष्पादित करता है:पता करें कि जब बाल प्रपत्र बंद हो गया

Form2 frm = new Form2(); 
frm.Name = "Form" + musteriNumarasi.ToString(); 
frm.Text = "Kullanıcı - " + musteriNumarasi.ToString(); 

कहते हैं कि मैं तीन बार क्लिक किया है देता है। अब चार रूप हैं: मुख्य, चाइल्ड 1, चाइल्ड 2, चाइल्ड 3। जब उपयोगकर्ता बच्चे के रूपों में से किसी एक को बंद करता है, तो मुख्य रूप से यह जानने की आवश्यकता होती है कि कौन सा बंद है। मैं उसे कैसे कर सकता हूँ?

+3

एक तरीका यह है कि माता-पिता अपने बच्चे के फॉर्म बंद घटना के बारे में सुनें। – ryanyuyu

+0

या तो बच्चे के करीबी कार्यक्रम के लिए मूल रूप से एक श्रोता स्थापित करें या कम से कम, बच्चे के करीबी कार्यक्रम में आप अपने मुख्य रूप में कोड निष्पादित कर सकते हैं। –

+0

फॉर्मक्लोज्ड ईवेंट की सदस्यता लें। या तो प्रत्येक विशिष्ट बच्चे या एक आम के लिए समर्पित ईवेंट हैंडलर का उपयोग करें, * प्रेषक * तर्क आपको बताता है कि कौन सा बंद था। –

उत्तर

8

Closed Event

Form2 frm = new Form2();  
frm.FormClosed += new FormClosedEventHandler(Form_Closed); 

void Form_Closed(object sender, FormClosedEventArgs e) 
{ 
    Form2 frm = (Form2)sender; 
    MessageBox.Show(frm.Name); 
} 
की सदस्यता लें करने के लिए जोड़ निम्नलिखित तरीके
+0

किसी ने मेरे जवाब को वोट क्यों दिया? –

+0

यह एक संकलन त्रुटि देता है। त्रुटि \t CS0029 \t अंतर्निहित रूप से 'System.EventHandler' को 'System.Windows.Forms.FormClosedEventHandler' में परिवर्तित नहीं कर सकता – Boggartfly

-2

बंद या समापन फार्म की स्थिति को संभालने के लिए अपने कोड में ये पंक्तियां जोड़ें

frm.Closing += Form_Closing; 
frm.Closed += Form_Closed; 

वर्तमान कक्षा

void Form_Closing (object sender,EventArgs e){ 
//Handler form Closing Event 
} 
void Form_Closed (object sender,EventArgs e){ 
//Handler form Closed Event 
} 
+0

'प्रेषक' फॉर्म ऑब्जेक्ट पर संदर्भ होगा जो ईवेंट – Aladdin

+0

को ट्रिगर करता है आपको टिप्पणियों का उपयोग करने के बजाय वास्तव में अपना उत्तर संपादित करना चाहिए। – ryanyuyu

+0

यह टिप्पणी केवल मेरे उत्तर के साथ आपकी मदद करने के लिए एक युक्ति है। – Aladdin

-2
Form2 frm = new Form2(); 

frm.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.frm _FormClosed); 

। । ।

private void frm_FormClosed(object sender, EventArgs e) 
{ 
    //Runs after closing child :) 
} 
संबंधित मुद्दे