, मिच के सुझाव जाने के लिए एक अच्छा तरीका है। मेरा उदाहरण यहां उपयोग किया जाएगा यदि आपको बच्चे को खुले रहते हुए माता-पिता से संवाद करने की आवश्यकता होती है।
अपने माता पिता के रूप में, के रूप में
public void NotifyMe(string s)
{
// Do whatever you need to do with the string
}
अगला एक सार्वजनिक विधि है कि बच्चे प्रपत्र फोन करेगा, इस तरह के जोड़ने जब आप, माता पिता से बच्चे को खिड़की का शुभारंभ इस कोड का उपयोग करने की आवश्यकता है:
using (FormOptions formOptions = new FormOptions())
{
// passing this in ShowDialog will set the .Owner
// property of the child form
formOptions.ShowDialog(this);
}
बच्चे रूप में, वापस माता-पिता के लिए एक मूल्य के पारित करने के लिए इस कोड का उपयोग:
ParentForm parent = (ParentForm)this.Owner;
parent.NotifyMe("whatever");
सह इस उदाहरण में डी टूलबॉक्स विंडो जैसी कुछ चीज़ों के लिए बेहतर इस्तेमाल किया जाएगा जिसका उद्देश्य मुख्य रूप से ऊपर फ़्लोट करना है। इस मामले में, आप बच्चे के फॉर्म (.TopMost = true के साथ) का उपयोग करके .how() के बजाय .howDialog() को खोलेंगे।
इस तरह का एक डिज़ाइन इसका मतलब है कि बच्चे का रूप मूल रूप से मूल रूप से जोड़ा जाता है (चूंकि बच्चे को अपने नोटिफ़ाई विधि को कॉल करने के लिए अपने मालिक को पेरेंटफॉर्म के रूप में डालना पड़ता है)। हालांकि, यह स्वचालित रूप से एक बुरी चीज नहीं है।
आप समाधान केवल बंद होने के बाद ही काम करते हैं, माता-पिता के रूप में पासिंग संदेश के बारे में और वापस जब बच्चे का फॉर्म अभी भी खुला रहता है – Smith