使用可重用属性创建自定义控件

时间:2009-11-14 00:33:18

标签: vb.net custom-controls

这与我上一篇文章类似,但目的不同。

我已经构建了一个自定义控件,但是当我为它设置属性时......我页面上该控件的所有实例都会抓取完全相同的属性。我需要能够在我的页面上为控件的一个实例设置属性为“abc”,然后在同一页面上为控件的不同实例设置完全相同的属性为“xyz”。

任何人都可以放弃任何光明吗?

Namespace CustomControl
Public Class mycontrol : Inherits Literal
    Protected Overrides Sub CreateChildControls()
        Dim value As String = "test"
        If _doubleit = True Then
            value = value & " test"
        End If

        MyBase.Text = value
        MyBase.CreateChildControls()
    End Sub

    Private Shared _doubleit As Boolean = True
    Public Shared Property doubleit() As Boolean
        Get
            Return _doubleit
        End Get
        Set(ByVal value As Boolean)
            _doubleit = value
        End Set
    End Property
End Class

结束命名空间

1 个答案:

答案 0 :(得分:2)

从变量和属性声明中删除SharedShared表示您想要的内容:所有实例共享相同的值。

因此,您的代码应如下所示:

Private _doubleit As Boolean = True
Public Property doubleit() As Boolean
    Get
        Return _doubleit
    End Get
    Set(ByVal value As Boolean)
        _doubleit = value
    End Set
End Property