Почему свойство текста, переопределенное в пользовательском элементе управления, не отображается во время разработки
У меня есть 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
Что делать?
Ответы
Ответ 1
Добавлены следующие атрибуты и проблема решена.
<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
Ответ 2
Свойство Text определено как:
[Bindable(false), EditorBrowsable(EditorBrowsableState.Never), Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
Значение, вы не можете просмотреть его в окне свойств; вам необходимо переопределить атрибуты свойств, определенные здесь (что я не знаю, будет ли это работать как ожидалось) или просто присвоить имя свойства чему-то еще.
НТН.