Почему свойство текста, переопределенное в пользовательском элементе управления, не отображается во время разработки - PullRequest
12 голосов
/ 20 мая 2010

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

Что делать?

Ответы [ 2 ]

14 голосов
/ 20 мая 2010

Добавлены следующие атрибуты и проблема решена.

    <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
4 голосов
/ 20 мая 2010

Свойство Text определяется как:

[Bindable(false), EditorBrowsable(EditorBrowsableState.Never), Browsable(false),
 DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]

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

НТН.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...