Я написал пользовательский элемент управления, который имитирует внешний вид заголовка таблицы. Рисованные столбцы задаются коллекцией объектов со свойством Text string и свойством Width int. Оба имеют добавленные атрибуты Browsable
, Category
, DefaultValue
и Description
. В конструкторе коллекция является редактируемой, и пользователь может установить текст и ширину, как для элемента управления, а атрибуты учитываются, как я и надеялся. Однако пользователь не может редактировать имя переменной; сгенерированный код выглядит так:
HeaderMimicColumn headerMimicColumn1 = new HeaderMimicColumn();
HeaderMimicColumn headerMimicColumn2 = new HeaderMimicColumn();
HeaderMimicColumn headerMimicColumn3 = new HeaderMimicColumn();
...
Можно ли сделать так, чтобы пользователь мог указать имена переменных, используемых для столбцов, в конструкторе? Если да, то как?
РЕДАКТИРОВАТЬ: Просто чтобы быть ясно, HeaderMimicColumn
не является производным от System.Windows.Forms.Control
, это просто простой класс с этими двумя свойствами и пара событий, которые срабатывают при их изменении.
Вероятно, мне следует также объяснить, что для коллекции DesignerSerializationVisibility
установлено значение Contents
.