अजीब सवाल, लेकिन एक जो मुझे थोड़ा सा पहेली करता है। पुराने दिनों में जब हमारे पास टर्मिनलों और डॉस थे, आमतौर पर एप्लिकेशन में केवल एक "विंडो" थी, और वह एक पूर्णस्क्रीन थी। जब लोग फ़ंक्शंस स्विच करते थे, तो एक नई विंडो खोलने की कोई अवधारणा नहीं थी, लेकिन इसके बजाय मुख्य विंडो की सामग्री ओवरराइट की गई थी। तो वहां केवल एक मुख्य खिड़की थी, लेकिन इसमें कई स्क्रीनें प्रस्तुत की गई थीं।एक आवेदन में कई स्क्रीन लागू करना
कोई आधुनिक एप्लिकेशन, या तो WinForms या WPF में ऐसा कुछ कैसे बनाएगा?
- कई विंडोज है:
दो दृष्टिकोण होने लगते हैं। यह सामान्य दृष्टिकोण है और आमतौर पर यह उपयोगकर्ता को एक ही समय में एकाधिक विंडो के साथ काम करने की अनुमति देने के लिए समझ में आता है, लेकिन इसकी आवश्यकता/वांछित नहीं हो सकती है। शो() के बजाय ShowDialog() का उपयोग करना दूसरी विंडो मोडल बनाने का सामान्य तरीका है।
- केवल एक विंडो है, लेकिन उस पर एक टैबकंट्रोल के साथ। टैब छुपाएं और उन्हें प्रोग्रामिक रूप से स्विच करें। यह "एक विंडो, एकाधिक स्क्रीन" व्यवहार के करीब है, लेकिन स्वाभाविक रूप से यह गन्दा हो जाता है क्योंकि आपके पास एक ही फॉर्म क्लास में सभी नियंत्रण होते हैं (हालांकि कोई यह तर्क दे सकता है कि यह नियंत्रणों के उचित नामकरण को मजबूर करता है। इसके अलावा, कोई भी उपयोग करने की अनुशंसा कर सकता है आंशिक कक्षाएं और एक .cs प्रति स्क्रीन)
मुझे आश्चर्य है कि कोई बेहतर तरीका है या नहीं? अनिवार्य रूप से कुछ ऐसा कहता है, "देखो, मुझे सीमा शैली/आइकन या मुख्य मेनू पट्टी जैसी चीजों की परवाह नहीं है। मैं चाहता हूं कि आप इस स्क्रीन को इस क्षेत्र में प्रस्तुत करें"। किंडा जैसे एएसपीनेट मास्टर पेजेस जहां वास्तविक पृष्ठ केवल प्लेसहोल्डर्स में प्रदान की जाने वाली सामग्री को परिभाषित करते हैं।
क्या कुछ उचित तंत्र ऐसा कुछ करने के लिए है?
या क्या पूरे दृष्टिकोण में कुछ गड़बड़ है?
+1; मैं बस इस जवाब की एक भिन्नता लिख रहा था। अब मुझे नहीं करना है! –
यह एक अच्छा विचार है, विशेष रूप से क्योंकि उपयोगकर्ता नियंत्रण को अन्य कंटेनर 8 में पैनल के समान रखा जा सकता है), जो प्रबंधन को दर्द रहित बनाता है। –