Visual Studio - قيم الخصائص "الافتراضية" الجديدة لعناصر التحكم الموروثة

StackOverflow https://stackoverflow.com/questions/7367

  •  08-06-2019
  •  | 
  •  

سؤال

أنا أبحث عن مساعدة في تعيين قيمة خاصية افتراضية جديدة لعنصر تحكم موروث في Visual Studio:

class NewCombo : System.Windows.Forms.ComboBox
{
  public NewCombo() { DropDownItems = 50; }
}

المشكلة هي أن خاصية الطبقة الأساسية DropDownItems يحتوي على سمة "افتراضية" تم تعيينها بقيمة مختلفة (وليس 50).ونتيجة لذلك، عندما أقوم بسحب عنصر التحكم إلى نموذج، يحصل ملف المصمم على نص صريح mycontrol.DropDownItems = 50; خط.

في البداية، هذا لا يهم.ولكن إذا قمت لاحقًا بتغيير صفي الموروث إلى DropDownItems = 45; في المنشئ، لا يؤثر هذا على أي من عناصر التحكم في أي نموذج نظرًا لأن جميع ملفات المصمم هذه لا تزال تحتوي على القيمة 50 المشفرة فيها.وكان الهدف الأساسي هو تحديد القيمة في مكان واحد حتى أتمكن من التعامل مع العميل الذي يغير رأيه.

من الواضح، إذا كنت أقوم بإنشاء خاصية مخصصة خاصة بي في الفئة الفرعية، فيمكنني منحها سمة التصميم الافتراضية الخاصة بها مهما أردت.ولكن هنا أريد تغيير القيم الافتراضية للخصائص في القاعدة.هل هناك أي طريقة لتطبيق سمات Visual Studio على عضو الفئة الأساسية؟أم أن هناك حلاً آخر للحصول على النتيجة التي أريدها؟

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

المحلول

في صفك المشتق، تحتاج إما إلى التجاوز (أو استخدام الظل جديد) الخاصية المعنية ثم أعد تطبيق سمة القيمة الافتراضية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top