userControl Propertie erscheint im Editor aber nicht im Designer

GartenUmgraben

Erfahrenes Mitglied
Moin..hab n UserControl geschrieben (Visual Studio 2005 C#) was von Control erbt. Es enthält ne Textbox und so habe ich das Control Attribute 'Text' überschrieben um darüber den Text der enthaltenen Textbox anzusprechen. Funktioniert soweit auch gut.

Allerdings wird die Eigenschaft jetzt zwar im Editor angezeigt und kann dort auch geändert werden, sobald ich das Projekt jedoch erstelle ist der Text weg, da das Propertie nicht im Designer zu finden ist.

Code:
        [Browsable(true)]
        public override string Text
        {
            get
            {
              return this.TextBox.Text; 
            }
            set 
            {
               this.TextBox.Text = value;
            }
        }

Später im Code kann ich das Propertie auch normal ansprechen und nutzen. Nur eben Texte die ich zur Designtext festlege werden nicht übernommen.

Jmd ne Idee ?

Gruß Gärtner
 
Versteh dein Problem nicht genau, kannst du vielleicht etwas genauer bescchreiben was dein Problem ist?

Ich interpretiere es (aufgrund der Überschrift) mal so:
Dein Propertie wird im Designer nicht angezeigt? oder was?

Was, wenn du zusätzlich einige Attribute verwendest:
(Syntax in C++)
C++:
public:
[
  Category("states"),
  Description("specifies the action"),
  DefaultValue("text")
]
property System::String^ Text
{
  System::String^ get ()
  {
    return this->textBox->Text;
  }
  void set (System::String^ value)
  {
    this->textBox->Text = value;
  }
}

Jetzt solltest du dein Property auch im Designer angezeigt bekommen :D

Andere Interpretation:
Der Text ist im Designer leer!
Dass kann sein, da die Set Methode aufgerufen wird, aber als Wert nicht übergibt,
somit erhält die TextBox am Anfang keinen Wert (oder einen leeren) den sie darstellt.

Versuch mal nachdem du alle Komponenten initialisiert hast, die Set Methode aufzurufen mit einem Default wert?
 
das problem hat sich erledigt

man muss noch zusätzlich das attribut

[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]


setzten.
 

Neue Beiträge

Zurück