Al reemplazar la propiedad [Text] de un Control de usuario, tenemos el problema de que no aparece en el diseñador. En este post se explica que atributos usar para que se muestre en el diseñador
Cuando diseñamos un control de usuario que por ejemplo tenga un [Label], un [TextBox] y un [Button], puede interesarnos reemplazar la propiedad [Text] del control de usuario para que funcione de forma trasparente con el control, y eso no es muy difícil de conseguir
Por ejemplo
Public Overrides Property Text As String Get Return Me.TextBoxDatos.Text End Get Set(ByVal value As String) Me.TextBoxDatos.Text = value End Set End Property
El problema aparece cuando nos damos cuenta de que la propiedad no aparece en el diseñador ni siquiera añadiendo el "famoso" atributo
Browsable(True)
Al final la solución que funciona es la siguiente
<EditorBrowsable(EditorBrowsableState.Always), Browsable(True), DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)> _ Public Overrides Property Text As String ................... Resto del código de la propiedad ................... End Property
Esta solución la he encontrado después de mucho buscar en el siguiente post: