2009-11-03 22 views
5

मैं अपने प्रोग्राम में विंडोज फॉर्म ट्री व्यू नियंत्रण का उपयोग कर रहा हूं। मैं उपयोगकर्ता को अपने माउस पॉइंटर को खींचकर उसी स्तर पर एकाधिक नोड्स चुनने की अनुमति देना चाहता हूं (जिसे "लासो" चयन भी कहा जाता है)। मुझे नहीं लगता कि मानक वृक्ष दृश्य इसे अनुमति देता है।ट्री व्यू में एकाधिक चयन

मेरा प्रश्न यह है कि इसे प्राप्त करने का सबसे अच्छा तरीका क्या होगा? क्या मुझे शायद कस्टम या व्युत्पन्न नियंत्रण में अपने स्वयं के कस्टम चयन व्यवहार लिखना है? मैं कहाँ से प्रारम्भ करूँ?

मुझे विस्तृत स्पष्टीकरण की आवश्यकता नहीं है। सही दिशा में बस एक छोटा सा झुकाव।

उत्तर

6

यह मानक WinForms TreeView नियंत्रण के साथ आसान नहीं होगा। TreeView नियंत्रण केवल प्रति पेड़ एकल चयन का समर्थन करता है। पेड़ में एक साथ कई नोड्स का चयन करना संभव नहीं है।

इस व्यवहार को प्राप्त करने के लिए आपको TreeView पर एक बहुत ही समान श्रेणी बनाने की आवश्यकता होगी जो एकाधिक चयन के लिए अनुमति देता है। एक और विकल्प TreeView से प्राप्त करना है और विशिष्ट व्यवहार को ओवरराइड करके एकाधिक चयन सक्षम करना है। उत्तरार्द्ध कैसे करें इस पर एक लेख यहां दिया गया है।

+0

मैं बहु-चयन प्राप्त करने के लिए कस्टम नियंत्रण दृष्टिकोण को समझता हूं। आप किस दिशा में सुझाव देंगे, मुझे "लासो" चयन को लागू करने के लिए लेना चाहिए? क्या मुझे जीडीआई स्तर कस्टम ड्राइंग का सहारा लेना है या क्या कोई एपीआई या कुछ ऐसा है जो विंडोज़ इसके लिए खुलासा करता है, जो मेरी नौकरी को आसान बना सकता है? –

+0

@ फ़्रेडरिक, मैं उस पर एक महान व्यक्ति टिप्पणी नहीं कर रहा हूं। मेरा सुझाव एक सामान्य नया प्रश्न खोलना होगा जो सामान्य रूप से एक सामान्य WinForm नियंत्रण पर लासो चयन को कार्यान्वित करने के तरीके पर केंद्रित है। इससे बेहतर परिणाम मिलेगा। – JaredPar

+0

धन्यवाद जेरेड। मैं बस यही करूँगा। –

0

एक नियंत्रण है कि सूचीदृश्य जैसे कई चयन का समर्थन करता है में एक से अधिक चयन को लागू करने पर विचार करें। यदि आप मानकों का पालन करते हैं कि अधिकांश विंडोज उपयोगकर्ता समझते हैं कि आप ऐसे समाधान के साथ समाप्त हो जाएंगे जो कार्यान्वित करना आसान हो और उपयोग में आसान हो।

यदि आपको वास्तव में कुछ और विस्तृत जानकारी की आवश्यकता है तो आपको कस्टम नियंत्रण विकसित करने पर विचार करने की आवश्यकता हो सकती है।

संबंधित मुद्दे