اختيار متعددة في TreeView
-
13-09-2019 - |
سؤال
أنا أستخدم نماذج ويندوز TreeView
السيطرة في البرنامج الخاص بي. أرغب في السماح للمستخدم بتحديد عقود متعددة عند نفس المستوى عن طريق سحب مؤشر الماوس حولها (تسمى أيضا "Lasso"). لا أعتقد أن المعيار TreeView
يسمح بذلك.
سؤالي هو ما سيكون أفضل طريقة لتحقيق ذلك؟ هل يجب علي كتابة سلوك اختيار مخصص الخاص بي في سيطرة مخصصة أو مشتقة؟ من أين أبدأ؟
لا أحتاج إلى تفسير مفصل. مجرد دفع صغير في الاتجاه الصحيح.
المحلول
هذا لن يكون من السهل القيام به مع WinForms القياسية TreeView
مراقبة. ال TreeView
التحكم يدعم فقط اختيار واحد لكل شجرة. لا يمكن في وقت واحد اختيار عقد متعددة في الشجرة.
من أجل الحصول على هذا السلوك، فمن المحتمل أن ينتهي بك الأمر إلى إنشاء فئة مماثلة جدا TreeView
الذي يسمح باختيار متعددة. خيار آخر هو الاستمتاع من TreeView
وتمكين الاختيار المتعدد عن طريق تجاوز سلوكيات محددة. إليك مقال حول كيفية القيام به الأخير.
نصائح أخرى
فكر في تنفيذ تحديد متعدد في عنصر تحكم يدعم مجموعة مختارة متعددة مثل ListView. إذا اتبعت المعايير التي تفهم معظم مستخدمي Windows، فسوف ينتهي بهم الأمر إلى حل أسهل في تنفيذها وأسهل في الاستخدام.
إذا كنت بحاجة حقا إلى شيء أكثر تفصيلا، فقد تحتاج إلى التفكير في تطوير عنصر تحكم مخصص.