Visual Studio - новые значения свойств по умолчанию для унаследованных элементов управления - PullRequest
9 голосов
/ 11 августа 2008

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

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

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

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

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

1 Ответ

4 голосов
/ 11 августа 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...