Creating a custom Web Part control (VB) : WebPart « WebPart « ASP.NET Tutorial






Imports System
Imports System.Web
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts


Public Class StateListBox
    Inherits WebPart

    Private _LabelStartText As String = " Enter State Name: "
    Dim StateInput As New TextBox
    Dim StateContents As New ListBox

    Public Sub New()
        Me.AllowClose = False
    End Sub

    <Personalizable(), WebBrowsable()> _
    Public Property LabelStartText() As String
        Get
            Return _LabelStartText
        End Get
        Set(ByVal value As String)
            _LabelStartText = value
        End Set
    End Property

    Protected Overrides Sub CreateChildControls()
        Controls.Clear()

        Dim InstructionText As New Label
        InstructionText.BackColor = Drawing.Color.LightGray
        InstructionText.Font.Name = "Verdana"
        InstructionText.Font.Size = 10
        InstructionText.Font.Bold = True
        InstructionText.Text = LabelStartText
        Me.Controls.Add(InstructionText)

        Dim LineBreak As New Literal
        LineBreak.Text = "<br />"
        Me.Controls.Add(LineBreak)

        Me.Controls.Add(StateInput)

        Dim InputButton As New Button
        InputButton.Text = "Input State"
        AddHandler InputButton.Click, AddressOf Me.Button1_Click
        Me.Controls.Add(InputButton)

        Dim Spacer As New Literal
        Spacer.Text = "<paragraph>"
        Me.Controls.Add(Spacer)

        Me.Controls.Add(StateContents)

        ChildControlsCreated = True
    End Sub

    Public Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
        StateContents.Items.Add(StateInput.Text)
        StateInput.Text = String.Empty
        StateInput.Focus()
    End Sub

End Class








24.2.WebPart
24.2.1.Creating a custom Web Part control (C#)
24.2.2.Creating a custom Web Part control (VB)