【问题标题】:Create Custom Control with reusable properties创建具有可重用属性的自定义控件
【发布时间】:2009-11-14 00:33:18
【问题描述】:

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

我已经构建了一个自定义控件,但是当我为其设置属性时...我页面上该控件的所有实例都获取完全相同的属性。我需要能够为我页面上的一个控件实例设置属性为“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

结束命名空间

【问题讨论】:

    标签: vb.net custom-controls


    【解决方案1】:

    从变量和属性声明中删除 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
    

    【讨论】:

    • 就是这么简单...谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多