Listing 1

    1 Imports System.ComponentModel
    2 Imports System.Web.UI
    3 
    4 <ToolboxData("<{0}:SampleControl runat=server></{0}:SampleControl>")>
    5 
    6 Public Class SampleControl
    7     Inherits System.Web.UI.WebControls.WebParts.WebPart
    8 
    9     Private strSubtitle As String
   10     Private _Title As String = "My WebPart"
   11 
   12     Public Sub New()
   13         strSubtitle = "As of " & Now.ToString
   14         Me.TitleIconImageUrl = "mySampleIcon.gif"
   15     End Sub
   16 
   17     Private Sub BookDisplay_Init(ByVal sender As Object, _
   18     ByVal e As System.EventArgs) Handles Me.Init
   19         MyBase.HelpUrl = "http://www.joeon.net/myWebPartHelp.htm"
   20     End Sub
   21 
   22     Public Overrides Property Title() As String
   23         Get
   24             Return MyBase.Title
   25         End Get
   26         Set(ByVal value As String)
   27             MyBase.Title = _Title
   28         End Set
   29     End Property
   30 
   31     Public Overrides ReadOnly Property Subtitle() As String
   32         Get
   33             Return strSubtitle
   34         End Get
   35     End Property
   36 
   37     Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
   38         MyBase.Render(writer)
   39     End Sub
   40 End Class

Listing 2

Class myWebUserControl
         Inherits System.Web.UI.UserControl  ' Pace your cursor here and hit enter to generate the interface stubs.
         Implements IWebPart
    Private _CatalogIconImageUrl As String = "images/5PointStar.gif"
    Public Property CatalogIconImageUrl() As String Implements System.Web.UI.WebControls.WebParts.IWebPart.CatalogIconImageUrl
        Get
            Return _CatalogIconImageUrl
        End Get
        Set(ByVal value As String)
            _CatalogIconImageUrl = value
        End Set
    End Property

    ' Description
    Private _Description As String = "[ Custom Web Part ]"
    Public Property Description() As String Implements System.Web.UI.WebControls.WebParts.IWebPart.Description
        Get
            Return _Description
        End Get
        Set(ByVal value As String)
            _Description = value
        End Set
    End Property

    ' Subtitle
    Private _Subtitle As String = ""
    Public ReadOnly Property Subtitle() As String Implements System.Web.UI.WebControls.WebParts.IWebPart.Subtitle
        Get
            Return _Subtitle
        End Get
    End Property

    ' Title 
    Private _Title As String = "[ My Custom Web Part ]"
    Public Property Title() As String Implements System.Web.UI.WebControls.WebParts.IWebPart.Title
        Get
            Return _Title
        End Get
        Set(ByVal value As String)
            _Title = value
        End Set
    End Property

    ' TitleIconImageUrl
    Private _TitleIconImageUrl As String = "images/5PointStar.gif"
    Public Property TitleIconImageUrl() As String Implements System.Web.UI.WebControls.WebParts.IWebPart.TitleIconImageUrl
        Get
            Return (_TitleIconImageUrl)
        End Get
        Set(ByVal value As String)
            _TitleIconImageUrl = value
        End Set
    End Property

    ' TitleUrl
    Private _TitleUrl As String = "http://joeon.net"
    Public Property TitleUrl() As String Implements System.Web.UI.WebControls.WebParts.IWebPart.TitleUrl
        Get
            Return _TitleUrl
        End Get
        Set(ByVal value As String)
            _TitleUrl = value
        End Set
    End Property
End Class