Mögliches Duplikat:
Text-Eigenschaft in einem UserControl in C#
Wie markiere ich die Text
Eigenschaft einer UserControl
als durchsuchbar?
EIN .NET UserControl
Klasse hat eine Text
Eigentum.
Leider ist die Text
Eigenschaft einer UserControl
ist nicht durchsuchbar :
//
//
// Returns:
// The text associated with this control.
[Bindable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public override string Text { get; set; }
In meinem UserControl
I wollen zur Offenlegung der Text
Eigenschaft (d.h. sie zu " durchsuchbar ") im Eigenschaftsfenster. Ich habe versucht, sie blind als durchsuchbar zu deklarieren:
[Browsable(true)]
public override string Text { get; set; }
und jetzt erscheint es im Eigenschaftsfenster, nur dass es jetzt nichts tut.
Ich habe versucht, blindlings anzurufen base.Text
um die Funktionalität wiederherzustellen:
[Browsable(true)]
public override string Text { get {return base.Text;} set { base.Text = value; this.Invalidate(); } }
und jetzt funktioniert die Eigenschaft zwar zur Entwurfszeit, aber der Eigenschaftswert wird nicht in der Form.Designer.cs
und es ist InitalizeComponent
Code.
Was ist die richtig Möglichkeit, die UserControl
Text
Eigenschaft, so dass sie:
- ist im Eigenschaftsfenster durchsuchbar
- ist funktionell
- wird im Formular-Designer festgehalten
und, als Bonus :
- wissen, wann es sich ändert