वर्तमान में मेरे पास मेरे अधिकांश प्रपत्र नियंत्रण लॉन्च पर अक्षम हैं क्योंकि आप फ़ाइल का लोड होने तक उनका उपयोग नहीं कर सकते हैं। हालांकि, फ़ाइल लोड होने के बाद नियंत्रण सक्षम होना चाहिए।किसी फ़ॉर्म पर सभी नियंत्रण कैसे सक्षम करें?
मैं बाइंडिंग का उपयोग कर रहा था लेकिन मुझे नहीं लगता कि वे एक अच्छे समाधान हैं। एक के लिए, यह अनावश्यक जटिलता है। दूसरा, आप सब कुछ के लिए बाइंडिंग का उपयोग नहीं कर सकते हैं। उदाहरण के लिए, मेनूस्ट्रिप आइटमों में उनकी सक्षम संपत्ति फ़ाइल लोडेड प्रॉपर्टी से बंधी नहीं हो सकती है। केवल पूरा मेनू ही और मैं पूरे मेनू को लॉन्च पर अक्षम नहीं करना चाहता, केवल कुछ मेनू ऑपरेशंस जो फ़ाइल पर काम करते हैं।
मैं वास्तव में सबकुछ सक्षम करने के लिए एक तरीका ढूंढ रहा हूं। अधिकांश यह पूछे जाने पर कि इस के साथ जवाब देने होगा:
foreach (Control c in Controls)
{
c.Enabled = true;
}
हालांकि, कि (एक पैनल या कस्टम नियंत्रण) की तरह अन्य नियंत्रण के भीतर MenuStrip आइटम या नियंत्रण को सक्षम करने के लिए काम नहीं करता। इसलिए यह कंटेनरों के भीतर स्क्रॉलबार सक्षम नहीं करेगा।
मुझे लगता है कि मैं उस लाइन का उपयोग कर सकता हूं और मैन्युअल रूप से अन्य सभी को सक्षम कर सकता हूं लेकिन मैं हमेशा मैन्युअल रूप से सक्षम सब कुछ सक्षम कर सकता था। मैं सब कुछ स्वचालित रूप से सक्षम करने का एक तरीका ढूंढ रहा हूं।
कैसे उन तत्वों पहली जगह में अक्षम किए गए थे? हो सकता है कि आप किसी सूची में अक्षम होने का ट्रैक रख सकें और फिर उस सूची के सभी तत्वों को पुनः सक्षम कर सकें (और इसे साफ़ करें)। –
वे फॉर्म डिजाइनर में अक्षम हैं। अधिकांश एप्लिकेशन के टूल का उपयोग लोड की गई फ़ाइल के बिना नहीं किया जा सकता है, इसलिए वे डिफ़ॉल्ट रूप से अक्षम होते हैं। –