नहीं, मुझे किसी भी घटना से अवगत नहीं है जब किसी भी फ़ॉर्म परिवर्तनों पर नियंत्रण होता है।
मेरी सलाह व्यक्तिगत रूप से प्रत्येक कार्यक्रम की सदस्यता लेनी होगी (यदि आपके फॉर्म में इतने सारे नियंत्रण हैं कि यह वास्तव में करना मुश्किल है, तो आप अपने यूआई को फिर से सोचना चाहेंगे)।
आप पूरी तरह सब नियंत्रण में परिवर्तन करने के लिए सदस्यता चाहिए तो आप के लिए निम्न कुछ इसी तरह विचार करना चाह सकते:
foreach (Control c in this.Controls)
{
c.TextChanged += new EventHandler(c_ControlChanged);
}
void c_ControlChanged(object sender, EventArgs e)
{
}
ध्यान दें कि यह विशेष रूप से अच्छी तरह से हालांकि काम नहीं होगा यदि आप गतिशील रूप से जोड़ सकते हैं और रनटाइम पर फॉर्म को नियंत्रण हटा दें।
इसके अलावा, TextChanged
घटना कुछ नियंत्रण प्रकारों (जैसे टेक्स्टबॉक्स) के लिए एक उपयुक्त घटना नहीं हो सकती है - इस मामले में आपको सही घटना की सदस्यता लेने में सक्षम होने के लिए नियंत्रण प्रकार कास्ट और परीक्षण करने की आवश्यकता होगी, उदाहरण के लिए :
foreach (Control c in this.Controls)
{
if (c is CheckBox)
{
((CheckBox)c).CheckedChanged += c_ControlChanged;
}
else
{
c.TextChanged += new EventHandler(c_ControlChanged);
}
}
mislabeling के लिए आबादी - वैसे ही आप VB.NET में या पिज्जा खाने के दौरान करते हैं। आप किस नियंत्रण के बारे में बात करते हैं? डब्ल्यूपीएफ या WinForms? – TomTom
मेरा मतलब है, मुझे टेक्स्ट बॉक्स/कम्बोबॉक्स/चेक बॉक्स मानों में परिवर्तनों का पता लगाने की आवश्यकता है, यदि पहले से भरे हुए फॉर्म मानों से कोई परिवर्तन पता चला है, तो केवल एक बटन अक्षम करें। – Asad
एप्लिकेशन वीएस सी # .net – Asad