vb .net自定义控件属性未在运行时保存

时间:2012-12-03 00:04:41

标签: .net visual-studio-2010

我宣布了一个自定义属性“Padding”

    Public Overloads Property Padding() As Padding
    Get
        Return (pad)
    End Get
    Set(ByVal Value As Padding)
        pad = Value
        RecalculateCharacterSize()
        Me.Refresh() 
    End Set
End Property

并在设计时工作。但是当我运行表单时,此属性重置为0,当返回设计编辑器时也为零。与最初的“Padding”属性名称存在冲突,因为如果我更改为“Padding2”工作正常(我可以更改我的名字)但最初的名称最适合:)

非常感谢您的建议,我确信这里有一些蠢事

PS。我用那些但仍无效的方法进行了解析

<EditorBrowsable(EditorBrowsableState.Always), Browsable(True), Bindable(True), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)> _

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

非常感谢Mark,作品:)

Public Shadows Property Padding() As Padding
    Get

        Return (pad)
    End Get
    Set(ByVal Value As Padding)
        pad = Value
        MyBase.Padding = pad ' ---> this had to be added 
        RecalculateCharacterSize()
        Me.Refresh()
    End Set
End Property

答案 1 :(得分:0)

如果您只是尝试添加到现有的Padding属性,请尝试这样的操作。

Public Shadows Property Padding() As Padding
    Get
        Return (MyBase.Padding)

    End Get
    Set(ByVal Value As Padding)
        MyBase.Padding = Value
        pad = Value
        RecalculateCharacterSize()
        Me.Refresh()
    End Set
End Property