एक .NET 2.0 Winforms एप्लिकेशन के लिए एक सुविधाजनक यूआई बनाने के लिए, मैं काम कर रहा हूं, मुझे एक नियंत्रण की आवश्यकता है कि मुझे यकीन है कि किसी भी मानक नियंत्रण के "बॉक्स के बाहर" व्यवहार से परे है। मैं क्या हासिल करने की कोशिश कर रहा हूँ का एक नकली इस प्रकार है:कॉम्प्लेक्स नेट 2.0 विंडोज फॉर्म नियंत्रण: कहां से शुरू करें?
Mock up http://www.claware.com/images/temp/mockup.png
अनिवार्य रूप से, आदिवासी भाषाओं से शब्दांशों में शब्दों पार्स करने के लिए (कोई शब्दकोश का उल्लेख करने के आवेदन के प्रयास के इस हिस्से, किसी भी और सभी यूनिकोड पात्र संभव हैं।) जब तक उपयोगकर्ता इसे दूर ले जाता है, तब तक उसने अपनी भाषा और कुछ अन्य विन्यास में स्वरों/व्यंजनों को पहले ही परिभाषित कर दिया है। इसके बाद आवेदन की एक पुनरावृत्ति प्रक्रिया (1) अनुप्रयोग अनुमान लगाती है कि कुछ नियमों के आधार पर भाषा में कौन से अक्षर मौजूद हैं, (2) उपयोगकर्ता अनुमानों को परिशोधित करता है, सही पार्सिंग का चयन करता है या मैन्युअल रूप से एक शब्द का विश्लेषण करता है, (3) एप्लिकेशन "सीखता है "उपयोगकर्ता की प्रतिक्रिया से और बेहतर अनुमान लगाता है, (4) तब तक दोहराएं जब तक कि डेटा आगे बढ़ने के लिए" पर्याप्त "न हो।
नियंत्रण को प्रत्येक शब्द (ग्रे हेडर), फिर सभी अक्षरों के ब्रेक अनुमान (शब्दों के हिस्सों को अलग करने वाले बिंदुओं के साथ सफेद क्षेत्र) प्रस्तुत करने की आवश्यकता होती है।) एक पार्सिंग मैन्युअल रूप से दर्ज करने का एक तरीका भी है, जो प्रदर्शित होगा एक टेक्स्ट एरिया और सेव बटन (मॉकअप के नीचे।) जब उपयोगकर्ता अनुमान लगाता है, तो पृष्ठभूमि में परिवर्तन होता है और बटन "स्वीकार/अस्वीकार" दिखाई देते हैं। स्वीकार करने पर क्लिक करके, या मैन्युअल पार्सिंग दर्ज करने से, सूची से पूरे शब्द को हटा दिया जाता है। अस्वीकार बटन पर क्लिक करने से बस उस आइटम को हटा दिया जाता है।
मैं ऊपर से स्वरूपण पर 100% बेचा नहीं हूं, लेकिन मुझे लगता है कि आपको प्रारूपण और कार्यात्मक नियंत्रण के प्रकारों का सामान्य विचार मिल सकता है। नियंत्रण लंबवत भी स्क्रॉल करेगा - शुरुआत में हजारों शब्द हो सकते हैं।
आपके लिए मेरा प्रश्न WinForms डेवलपर्स का अनुभव है: कहां से शुरू करें? मैं वास्तव में, वास्तव में नेट कोर फ्रेमवर्क के भीतर रहना चाहता हूं और किसी तीसरे पक्ष के नियंत्रण के विपरीत मौजूदा नियंत्रण का विस्तार करना चाहता हूं। (धार्मिक युद्ध शुरू करने के जोखिम पर: हाँ, मैं एनआईएच-सिंड्रोम से पीड़ित हूं, लेकिन यह बहुत से त्वरित समाधान समाधानों के आधार पर एक सचेत निर्णय है लेकिन तीसरे पक्ष के नियंत्रण के साथ दीर्घकालिक समस्याएं हैं।) मुझे सबसे ज्यादा कहां मिल सकता है "मेरे bucK के लिए बैंग" और कम से कम पहिया reinventing? सूची दृश्य? सूची बाक्स? ScrollableControl? क्या मुझे सब कुछ मैन्युअल रूप से नियंत्रित करने और पेंट करने के लिए वापस जाने की ज़रूरत है? मैं किसी भी मदद की सराहना करता हूं जो प्रदान किया जा सकता है!
[संपादित करें] विचारों के लिए सभी को धन्यवाद। ऐसा लगता है कि मेरे उद्देश्यों के लिए सबसे सुरुचिपूर्ण समाधान एक कस्टम नियंत्रण बनाना है जिसमें फ्लोलाउटआउट पैनल और वीएसक्रॉलबार शामिल है। FlowLayoutPanel में प्रत्येक शब्द के लिए उपयोग किए गए कस्टम नियंत्रण के उदाहरण हो सकते हैं। लेकिन FlowLayoutPanel वर्चुअल है, यानी इसमें केवल उन उदाहरण शामिल हैं जो दिखाई दे रहे हैं (और कुछ "स्क्रॉल से बाहर")। VScrollBar घटनाओं को निर्धारित करता है कि क्या लोड किया जाना चाहिए। लिखने के लिए थोड़ा सा कोड, लेकिन बहुत बुरा नहीं है और अच्छी तरह से काम करता प्रतीत होता है।
क्या आप डब्ल्यूपीएफ का उपयोग करने से बाध्य हैं? एक सम्मान में यह WinForms + HTML है और आपके मॉक अप अभिव्यक्ति मिश्रण में चाबुक करना आसान होगा। – sipwiz
अफसोस की बात है, हाँ। मैं अक्सर उन "आदमी, मैं वास्तव में चाहता हूं कि हम WPF का उपयोग कर सकें" क्षण। –
मुझे तैयार लेख देखने में दिलचस्पी होगी .... – cjk