Laden...

Custom Control Attribute Problem?

Erstellt von kpatrickk vor 15 Jahren Letzter Beitrag vor 15 Jahren 525 Views
K
kpatrickk Themenstarter:in
139 Beiträge seit 2007
vor 15 Jahren
Custom Control Attribute Problem?

Hallo,

ich habe ein Control, dass mehrere beinhaltet. Label, texte, boxen.
Über Attribute kann man in dem Designer einstellen, was man sehen möchte und wie groß die einzelnen Felder sein sollen. Dazu benötige ich eine Funktion, welche anhand der eingestellten Werte die controls richtig plaziert und die Control Größe entsprechend setzt.

Soweit sollte es funktionieren. Im designer kann man unter meiner Category dann alles einstellen. Zur Laufzeit stimmen die Größen jedoch nicht.
Und mir ist aufgefallen, dass, wenn man ein paar von den Controls auf ein panelcontrol zieht und zweimal kompiliert, dann werden fast alle Einstellungen aus meiner Category zurück auf die Default Werte gesetzt.

Gibt es Attribute die man hier setzen muß, oder Dinge die man generell nicht machen darf?


[Category("MyProperties")]
[Description("bla.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public bool ShowCancelButton
{
        get { return this.cancelButtonVisible; }
        set {  
                 this.cancelButtonVisible= value; 
                 SetPositions(); 
              }
}

Habe auch mit wenig Erfolg [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] getestet, wobei mir der Unterschied nicht ganz klar ist.

Es kann auch sein dass ein Fremdanbieter von dem ich Controls verwende, und meine hineinlege, ein Problem hat, aber ich möchte erst einmal sehen, ob ich generell etwas falsch mache.

Viele Grüße,

Patrick

p.s. wenn ich die Controls dynamisch verwende funktioniert alles einwandfrei. Möchte nun aber ein paar feste masken erstellen, welche meine controls verwenden.

P
48 Beiträge seit 2008
vor 15 Jahren

Hi kpatrickk,

du musst das Attribute DesignerSerializationVisibility auf

[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]

setzen.

Grüße,

psy

K
kpatrickk Themenstarter:in
139 Beiträge seit 2007
vor 15 Jahren

Hallo,

ich habe das Problem entdeckt.
Man darf nicht direkt auf die Visibility von Objekten zugreifen:

wie if (button.Visible...)

Wenn man lokale Variablen dafür anlegt funktioniert es. Bei dem Anlegen von Controls ist der Zusatnd scheinbar nicht ganz stabil? Am Anfang einer Methode kann die Visibility auf true stehen und bei der Abfrage weiter unten im Code auf false.

Das kann aber auch an der Library liegen, welche ich verwende, um meine Controls einzubetten.

Viele Grüße,

Patrick