2010-05-20 4 views
11

Ich habe eine Benutzersteuerung, die die Eigenschaft Text überschreibt. Diese Eigenschaft wird jedoch zur Entwurfszeit nicht angezeigt.Warum wird die im Benutzersteuerelement überschriebene Texteigenschaft zur Entwurfszeit nicht angezeigt

Wenn ich es in Titel oder Wert umbenennen, wird es in den Eigenschaften zur Entwurfszeit angezeigt, aber Text wird nicht angezeigt.

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 

Was ist zu tun?

Antwort

14

Folgende Attribute hinzugefügt und das Problem ist gelöst.

<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

Was die. Arbeitete perfekt. Vielen Dank!! – DontFretBrett

+0

Es lohnt sich, darauf hinzuweisen, dass man, um die obigen Attribute verwenden zu können, auch Folgendes tun muss: Imports System.ComponentModel – Herb

4

ist die Eigenschaft Text wie folgt definiert:

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

Bedeutung, können Sie es im Eigenschaftsfenster nicht sehen können; Sie müssen die hier definierten Eigenschaftenattribute überschreiben (was ich nicht weiß, ob das wie erwartet funktioniert) oder einfach den Eigenschaftsnamen auf etwas anderes setzen.

HTH.

+0

Ich habe die Antwort und postete es –

Verwandte Themen