जब आप एक विंडोज़ फॉर्म एप्लिकेशन प्रोग्रामिंग कर रहे हैं, तो आपको हमेशा एक दूसरी फॉर्म विंडो, जैसे विकल्प फॉर्म या पॉपअप सर्च प्रॉम्प्ट से चर प्राप्त करने की आवश्यकता होगी।
वहां मौजूद अधिकांश मार्गदर्शिका आपको बताएंगी कि आपको ShowDialog () के साथ दूसरा फॉर्म खोलना है, जो उपयोगकर्ता को दूसरी फॉर्म विंडो बंद करने तक कुछ और करने से रोकता है। उदाहरण के लिए, यह एक खोज / प्रतिस्थापन संवाद के लिए बहुत अच्छा काम नहीं करेगा। यह कस्टम खींचे गए पॉपअप फॉर्मों के लिए भी बहुत अच्छा काम नहीं करेगा।
रूपों के बीच चर पारित करने का त्वरित तरीका प्रतिनिधि का उपयोग कर रहा है। आप दूसरे फॉर्म की समाप्ति घटना के लिए इवेंटहालर सेट कर सकते हैं, और ईवेंट को पहले फॉर्म में संभाल सकते हैं। यह आपको दूसरी फॉर्म विंडो बंद होने से पहले चर को कैप्चर करने की अनुमति देता है।
इस अभ्यास के लिए, हम यह मानने जा रहे हैं कि हमारे पास दो रूप हैं:
मुख्य रूप
OptionsForm
हम आगे यह मानने जा रहे हैं कि हमने कुछ प्रकार के बटन पर क्लिक किया है जो एक शो () विधि कॉल के साथ विकल्पफॉर्म खोलता है। अब चलो जादू पर एक नज़र डालें:
……. snip…….
OptionsForm theform = new OptionsForm(); theform.Closing += new CancelEventHandler(theform_Closing); theform.Show();
}
private void theform_Closing(object sender, CancelEventArgs e) {
OptionsForm theform = (OptionsForm)sender;
// Grab the variable from the options form. The options form should set this variable before it closes, and the variable should be marked as public. string localvar = theform.thestringvariable;
}
यही सब है इसके लिए।