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

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

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

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

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

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

Ответов (1)

Решение

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