我有一个usercontrol,它会覆盖属性Text。但是这个属性在设计时没有显示。
如果我将其重命名为标题或值,它会在设计时显示在属性中,但不会显示文本。
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
怎么办?
答案 0 :(得分:14)
添加了以下属性,问题就解决了。
<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
答案 1 :(得分:4)
Text属性定义为:
[Bindable(false), EditorBrowsable(EditorBrowsableState.Never), Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
意思是,您无法在属性窗口中浏览它;你需要覆盖这里定义的属性属性(我不知道它是否会按预期工作)或者只是将属性名称设置为其他属性。
HTH。