Почему свойство текста, переопределенное в пользовательском элементе управления, не отображается во время разработки

У меня есть 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)]

Значение, вы не можете просмотреть его в окне свойств; вам необходимо переопределить атрибуты свойств, определенные здесь (что я не знаю, будет ли это работать как ожидалось) или просто присвоить имя свойства чему-то еще.

НТН.