Как создать элементы управления из кода с использованием VB.NET? - PullRequest
0 голосов
/ 22 марта 2010

Я хочу знать, смогу ли я создать веб-браузер с помощью кода в Vb.NET вместо перетаскивания веб-браузера в форму.

Ответы [ 2 ]

0 голосов
/ 22 марта 2010

Чтобы добавить то, что упоминает Джон Сондерс, я обычно создаю элемент управления через конструктор в тестовой форме, устанавливая свойства элемента по мере необходимости. Затем в реальной форме я создаю метод Initialize, который вызывается сразу после InitializeComponent в конструкторе формы.

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

  1. Создать тестовую форму. (Может быть удален после извлечения необходимого кода из кода дизайнера.)
  2. Добавление элемента управления / компонента в тестовую форму.
  3. Установите свойства по необходимости.
  4. Открыть код дизайнера и скопировать код элемента управления.
  5. В реальной форме создайте метод инициализации.
  6. Вставьте код в этот метод.
  7. При необходимости создайте конструктор для фактической формы.
  8. Вызвать метод инициализации.

Образец 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
0 голосов
/ 22 марта 2010
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim browser As New WebBrowser
    Controls.Add(browser)
End Sub

В общем, если вы хотите узнать, как сделать из кода то, что делает Дизайнер, затем создать то, что вы хотите, используя Дизайнер, а затем загляните в файл .designer.vb (или .designer.cs).

...