2010-05-20 13 views
11

tengo un control de usuario que anula el texto propiedad. Pero esta propiedad no se muestra en el momento del diseño.¿Por qué la propiedad de texto se reemplaza en el control de usuario no está mostrando en tiempo de diseño

Si cambio el nombre a subtitular o el valor que se muestra en propiedades en tiempo de diseño pero el texto no se muestra.

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 

¿Qué hacer?

Respuesta

14

Agregado siguientes atributos y el problema está resuelto.

<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 
+0

Qué. Funcionó perfectamente ¡¡Gracias!! – DontFretBrett

+0

Vale la pena señalar, que a fin de ser capaz de utilizar por encima de atributos, también hay que hacer: Las importaciones System.ComponentModel – Herb

4

La propiedad de texto se define como:

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

Significado, no se puede ver en la ventana de propiedades; que necesita para anular los atributos de propiedad definidos aquí (que no sé si eso va a funcionar como se espera) o simplemente establecer el nombre de la propiedad a otra cosa.

HTH.

+0

Recibí la respuesta y la publiqué –

Cuestiones relacionadas