यह कुछ नियंत्रण अक्षम करने का प्रबंधन करने के लिए आसान उन्हें एक पैनल के अंदर रखने और है कि पैनल को अक्षम करने के बजाय अक्षम करने व्यक्तिगत नियंत्रण से है:
controlPanel.Enabled = false;
अन्य कार्यों को ब्लॉक करने के एक आम तरीका है, कि अपनी जरूरतों को पूरा कर सकते हैं, है एक प्रगति पट्टी के साथ एक शीर्ष सबसे अधिक फार्म दिखाकर। मैंने इसे अतीत में सफलतापूर्वक कार्यान्वित किया है। अन्य कार्यक्रम एक ही काम करते हैं।उदाहरण के लिए, WinRAR में, जब प्रशंसा फ़ाइलों को निकालने या संपीड़ित करने में व्यस्त होती है, तो एप्लिकेशन शीर्ष पर सबसे अधिक रूप दिखाता है। यह एक "मोडल" रूप जैसा दिखता है, लेकिन वास्तव में, आप अभी भी अन्य कार्यों पर क्लिक कर सकते हैं, जिनके लिए WinRAR पूछता है, "क्या आप वर्तमान ऑपरेशन को रद्द करना चाहते हैं?"
पूरे एप्लिकेशन को अक्षम करना अक्सर आवश्यक नहीं है और सहज नहीं हो सकता है। तो, खुद से पूछें कि क्या आपको वास्तव में फॉर्म के साथ बातचीत को अवरुद्ध करने की आवश्यकता है। उदाहरण के लिए, मेरे पास एक ऐसा एप्लिकेशन है जिसमें कुछ कार्य पूरा करने में कुछ समय लगता है। मैं उस विशेष टुकड़े के लिए प्रगति बार संकेतक प्रदान करता हूं, लेकिन आप एक साथ चलने वाले अतिरिक्त कार्यों को शुरू करने के लिए अभी भी एप्लिकेशन से बातचीत कर सकते हैं। यहां तक कि अगर मैंने आपको एक समय में एक ही कार्य करने की अनुमति दी है, तो भी आप कार्य फ़ाइल को देखना चाहते हैं या कार्य चलने के दौरान एप्लिकेशन वरीयताओं को सेट करना चाहेंगे। इसके अलावा, मैं उपयोगकर्ता को एक बटन देता हूं जो उन्हें कार्य को रोकने की अनुमति देता है। फॉर्म को अक्षम करने से इस प्रकार की बातचीत को रोका जा सकेगा।
स्रोत
2009-09-15 18:29:42
यदि आप पृष्ठभूमि में कोड लेते समय फ़ॉर्म को अक्षम करने जा रहे हैं तो इसे पृष्ठभूमि में ले जाने का क्या मतलब है? – JaredPar
क्योंकि पृष्ठभूमिवर्कर के बिना विंडोज़ कहेंगे कि यदि उपयोगकर्ता इसके साथ बातचीत करने का प्रयास करता है तो एप्लिकेशन "प्रतिक्रिया नहीं दे रहा है"। – Chris