CreateChildControls() для WinForms

#winforms #custom-controls #windows-forms-designer

#winforms #пользовательские элементы управления #windows-forms-designer

Вопрос:

У меня есть свойство типа List<MyItems> с DesignerSerializationVisibility(DesignerSerializationVisibility.Content) атрибутом в классе MyCustomControl. Это позволяет правильно сериализовать коллекцию в файле конструктора.

Как мне инициализировать эту коллекцию, например, когда пользователь перетаскивает MyCustomControl в форму, 3 элемента добавляются автоматически? Точно так же, как стандартный TabControl работает с TabPages.

Я предполагаю, что метод, подобный ASP.NET Для достижения этого в WinForms должен существовать CreateChildControls().

Спасибо.

Ответ №1:

Я обнаружил, что вам нужно реализовать свой собственный конструктор и переопределить InitializeNewComponent() метод для создания дочерних элементов управления и, в конечном итоге, InitializeExistingComponent() для их редактирования.