Visual Studio - новые значения свойств «по умолчанию» для унаследованных элементов управления

Я ищу помощь в установке нового значения свойства по умолчанию для унаследованного элемента управления в Visual Studio:

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

Проблема заключается в том, что для свойства базового класса DropDownItemsустановлен атрибут «default», который имеет другое значение (не 50). В результате, когда я перетаскиваю элемент управления на форму, файл конструктора получает явную mycontrol.DropDownItems = 50;строку.

Во-первых, это не имеет значения. Но если позже я изменю свой унаследованный класс DropDownItems = 45;на конструктор, это не повлияет ни на один из элементов управления в любой форме, поскольку все эти файлы конструктора по-прежнему имеют значение 50, жестко запрограммированное в них. И все дело в том, чтобы ценность была установлена ​​в одном месте, чтобы я мог справиться с тем, что клиент передумал.

Очевидно, что если бы я создавал свое собственное пользовательское свойство в подклассе, я мог бы дать ему собственный дизайнерский атрибут по умолчанию того, что я хотел. Но здесь я хочу изменить значения по умолчанию свойств в базе. Есть ли способ применить атрибуты Visual Studio к члену базового класса? Или есть какой-то другой способ получить желаемый результат?

10.08.2008 22:06:49
1 ОТВЕТ
РЕШЕНИЕ

В вашем производном классе вам нужно либо переопределить (или затенить, используя новое ) рассматриваемое свойство, а затем повторно применить атрибут значения по умолчанию.

5
10.08.2008 23:11:39