Vb.net 为什么用户控件中重写的文本属性在设计时不显示
我有一个usercontrol,它覆盖属性文本。但此属性在设计时未显示 如果我将其重命名为标题或值,它将在设计时显示在属性中,但不会显示文本Vb.net 为什么用户控件中重写的文本属性在设计时不显示,vb.net,user-controls,Vb.net,User Controls,我有一个usercontrol,它覆盖属性文本。但此属性在设计时未显示 如果我将其重命名为标题或值,它将在设计时显示在属性中,但不会显示文本 public Class SomeControl Inherits System.Windows.Forms.UserControl Public Overrides Property Text() As String Get Return lblText.Text End Get
public Class SomeControl
Inherits System.Windows.Forms.UserControl
Public Overrides Property Text() As String
Get
Return lblText.Text
End Get
Set(ByVal value As String)
lblText.Text = value
End Set
End Property
End Class
怎么办?文本属性定义为:
[Bindable(false), EditorBrowsable(EditorBrowsableState.Never), Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
也就是说,您不能在属性窗口中浏览它;您需要覆盖此处定义的属性属性(我不知道这是否会按预期工作),或者只将属性名称设置为其他名称
HTH.添加了以下属性,问题就解决了
<EditorBrowsable(EditorBrowsableState.Always)> _
<Browsable(True)> _
<DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)> _
<Bindable(True)> _
Public Overrides Property Text() As String
Get
Return lblText.Text
End Get
Set(ByVal value As String)
lblText.Text = value
End Set
End Property
_
_
_
_
Public将属性Text()重写为字符串
得到
返回lblText.Text
结束
设置(ByVal值作为字符串)
lblText.Text=值
端集
端属性
我得到了答案并发布了答案。工作得很好。谢谢值得指出的是,为了能够使用上述属性,还必须执行以下操作:Imports System.ComponentModel