首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

关于自定义控件的属性窗口,构造函数,有关问题

2013-06-19 
【求助】关于自定义控件的属性窗口,构造函数,问题。我有如下自定义的控件:Imports System.Windows.FormsPubli

【求助】关于自定义控件的属性窗口,构造函数,问题。
我有如下自定义的控件:


Imports System.Windows.Forms

Public Class CLabel
    Inherits Label

    Private m_text As String

    Sub New()
        m_text = Me.Text ‘//下一个断点
    End Sub

End Class


我现在把这个控件放在窗体上,然后用“属性”窗口编辑其属性,让Text = "456" ,然后在窗体上可以看到已经改变了。F5之后,断点处显示 Me.Text = ""

也就是说,我在属性窗口所作的更改在构造函数中无法得到。但事实上出来的窗口显示正常456。

于是我就纠结了,我想在New()里面得到在属性窗口里所作的更改,来进行其他的一些初始化,怎么破?属性窗口里面应该是改的Designer.vb里面的代码,在类构造函数里面怎么获得?



[解决办法]
捕获不了,因为构造函数先于属性设置之前执行。
你可以重写Text属性拦截。
<SettingsBindableAttribute(True)> _
Public Overrides Property Text As String
    Get
        return MyBase.Text
    End Get
    Set
        '触发改变的代码
         MyBase.Text = value
    End Set
End Property
        

热点排行