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