Чтобы добавить то, что упоминает Джон Сондерс, я обычно создаю элемент управления через конструктор в тестовой форме, устанавливая свойства элемента по мере необходимости. Затем в реальной форме я создаю метод Initialize, который вызывается сразу после InitializeComponent в конструкторе формы.
Это позволяет другим пользователям легко определить, что я создаю элемент управления вручную, и легко найти код для изменений (поскольку нет дизайнера).
- Создать тестовую форму. (Может быть удален после извлечения необходимого кода из кода дизайнера.)
- Добавление элемента управления / компонента в тестовую форму.
- Установите свойства по необходимости.
- Открыть код дизайнера и скопировать код элемента управления.
- В реальной форме создайте метод инициализации.
- Вставьте код в этот метод.
- При необходимости создайте конструктор для фактической формы.
- Вызвать метод инициализации.
Образец WinForms:
Public Sub New()
' This call is required by the Windows Form Designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
InitializeTagViewer()
InitializeRssPane()
InitializeAuditPane()
InitializeViewMenuItems()
#If DEBUG Then
InitializeDevelopmentMenu()
#End If
End Sub
Private Sub InitializeAuditPane()
Me.__auditPane = New AuditPane
Me.__lowerRightSplitContainer.Panel2.Controls.Add(Me.__auditPane)
'
'__auditPane
'
Me.__auditPane.Dock = System.Windows.Forms.DockStyle.Fill
Me.__auditPane.Font = New System.Drawing.Font("Verdana", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.__auditPane.Location = New System.Drawing.Point(0, 0)
Me.__auditPane.Name = "__auditPane"
Me.__auditPane.Size = New System.Drawing.Size(150, 198)
Me.__auditPane.TabIndex = 0
End Sub