سؤال

لقد كتبت التحكم المخصصة التي يحاكي مظهر رأس الجدول.الأعمدة توجه تعطى من قبل مجموعة من الكائنات مع سلسلة نصية الملكية وعرض الباحث الملكية.كلاهما Browsable, Category, DefaultValue و Description الصفات المضافة.في "مصمم" جمع للتحرير و يمكن للمستخدم تحديد النص والعرض كما سيكون من أجل السيطرة سمات يشرفنا كما تمنيت.ومع ذلك, لا يمكن للمستخدم تعديل اسم المتغير ، الشفرة التي تم إنشاؤها يبدو مثل هذا:

HeaderMimicColumn headerMimicColumn1 = new HeaderMimicColumn();
HeaderMimicColumn headerMimicColumn2 = new HeaderMimicColumn();
HeaderMimicColumn headerMimicColumn3 = new HeaderMimicColumn();
...

هل من الممكن أن تجعل من ذلك يمكن للمستخدم تحديد أسماء المتغيرات تستخدم في الأعمدة في مصمم ؟ إذا كان الأمر كذلك ، كيف ؟

تحرير:مجرد أن تكون واضحة ، HeaderMimicColumn لا تستمد من System.Windows.Forms.Control, إنها مجرد عادي الطبقة مع هذين خصائص زوج من الأحداث التي تطلق عند تغيير.

ربما يجب أن يفسر أيضا أن جمع لها DesignerSerializationVisibility تعيين Contents.

هل كانت مفيدة؟

المحلول

عند الكائنات غير المكونات هي جزء من مجموعة التي استمرت من خلال آلية DesignerSerializationVisibility.Contents، ثم كل كائن في هذه المجموعة ليس لديها هوية منفصلة. بل هو مجرد جزء من مجموعة الأم. وبالتالي، لا يمكن أن يحدد أسماءهم، لأنها حرفيا لا وجود لها ككائنات منفصلة.

إذا كنت تريد HeaderMimicColumn الخاص بك لتكون جزءا من المجموعة الخاصة بك وعنونة بشكل منفصل (مثل الأعمدة في ListView)، سوف على الأقل يجب أن تستمد منهم من System.ComponentModel.Component. ومن ثم التعامل مع المشاكل الأخرى التي من شأنها أن تجلب:)

نصائح أخرى

المستخدم يجب أن تكون قادرة على القيام بذلك عن طريق القيام بما يلي

  1. ضرب F4 في مصمم (إحضار نافذة الخصائص)
  2. حدد headerMimicColumn1 في مربع التحرير والسرد المنسدلة
  3. تغيير اسم المجال
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top