如何使用VB.NET从代码创建控件?

时间:2010-03-22 04:01:19

标签: vb.net controls browser custom-controls webbrowser-control

我想知道我是否可以通过Vb.NET中的代码创建Web浏览器,而不是将Web浏览器拖到表单中。

2 个答案:

答案 0 :(得分:0)

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所做的操作,那么使用Designer创建您想要的内容,然后查看.designer.vb(或.designer.cs)文件。 / p>

答案 1 :(得分:0)

要添加John Saunders提到的内容,我通常会在测试表单中通过设计器创建控件,并根据需要设置控件的属性。然后在实际的表单中,我创建一个Initialize方法,该方法在表单构造函数中的InitializeComponent之后立即调用。

这允许其他人轻松识别我手动创建控件并轻松找到更改代码(因为没有设计人员)。

  1. 创建测试表单。 (从设计器代码中提取所需代码后可以删除。)
  2. 将控件/组件添加到测试表单中。
  3. 根据需要设置属性。
  4. 打开设计器代码和复制控件的代码。
  5. 以实际形式创建初始化方法。
  6. 将代码粘贴到此方法中。
  7. 如果需要,请为实际表单创建构造函数。
  8. 调用初始化方法。
  9. 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