.net - how to divide console screen in four parts and each part work separately using C# -


संभव डुप्लिकेट:

मैं अपने कंसोल स्क्रीन को चार भागों में विभाजित करना चाहता हूं और प्रत्येक भाग अलग से काम करना चाहता हूं, मुझे लगता है कि हम थ्रेड का उपयोग करते हैं लेकिन मुझे इसका उपयोग कैसे नहीं करना है?

आप केवल कंसोल को विभाजित नहीं कर सकते हैं, लेकिन इसे अपने आप पर करने के लिए उस पर पर्याप्त नियंत्रण है।

क्लास संदर्भ देखें। आप SetCursorPosition , विंडो की स्थिति और आकार सेट कर सकते हैं अपनी स्वयं की पद्धति बनाएं - कुछ लिखेंटियोअरेआ (इंट क्षेत्र, स्ट्रिंग पाठ)। क्षेत्र के अंदर रहने के लिए क्षेत्रों की सीमाओं को ट्रैक करें और पाठ लपेटें। प्रत्येक क्षेत्र की अपनी कर्सर स्थिति होनी चाहिए, उसे भी ट्रैक करें। और सोचें कि आप क्षेत्र के अतिप्रवाह को कैसे संभाल लेंगे (या आपको सिर्फ चार स्तंभों की आवश्यकता है?)

संपादित करें: मैं आपको मछली नहीं देने जा रहा हूं, लेकिन यहां आपकी मछली पकड़ने वाली छड़ी है ^ _ ^

< Ul>
  • स्तंभों में कंसोल विंडो (कंसोल। विन्डो वाइड) के आयामों को प्राप्त करें
  • प्रत्येक क्षेत्र की चौड़ाई प्राप्त करने के लिए चार तक विभाजित करें और प्रत्येक क्षेत्र के प्रारंभ और समाप्ति कॉल की गणना करें। उदाहरण के लिए, यदि आपका कंसोल 80 कॉलम चौड़ा है, तो आपको [0, 1 9], [20, 3 9], [40, 59], [60, 79] मिलना चाहिए - ये जोड़े प्रत्येक क्षेत्र की सीमाएं हैं।
  • आगे, प्रत्येक क्षेत्र के लिए कर्सर स्थिति को स्टोर करें (शुरू में यह होगा [बाएं बाउंड, 0])
  • विधि लिखोओओएरिया (इंट क्षेत्र, स्ट्रिंग पाठ) को लागू करें: शून्य। यह सबसे कठिन हिस्सा है। पहले, आप उस कोड के लिए संग्रहीत स्थिति में SetCursorPosition इसके बाद, उन हिस्सों में पाठ को तोड़ दें जो क्षेत्र में फिट होते हैं। इस बात को ध्यान में रखें कि वर्तमान कॉलम पर कितना स्थान छोड़ा गया है। कंसोल की श्रृंखला के साथ पाठ लिखें। लिखें , पंक्ति से लाइन। उस क्षेत्र [ CursorLeft , CursorTop ] के लिए कर्सर स्थिति अपडेट करें।
  • लिखें, डीबग करें और मज़े!
  • < / div>

    Comments