关于自定义控件的属性窗口,构造函数,有关问题
【求助】关于自定义控件的属性窗口,构造函数,问题。我有如下自定义的控件: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