steinadler Geschrieben 24. Oktober 2012 Geschrieben 24. Oktober 2012 Hallo ihr, ich habe eine Klasse, welche von einer Checkbox erbt. In dieser möchte ich auch gern mit realisieren, dass, wenn ich die abgeleitete Klasse verwende, auch die Apperance auf "Button" gestellt wird. Ändere ich dann jedoch per Designer die Apperance auf "Normal", wird dies nach dem Kompilieren wieder entfernt. "Normal" scheint hier der Default-Wert zu sein. Daher wird im Designer bei "Normal" die Zeile einfach weggelassen. Hat jemand eine Idee, wie man das umgehen kann? Grüße steinadler Zitieren
SilentDemise Geschrieben 24. Oktober 2012 Geschrieben 24. Oktober 2012 setz es in der abgeleiteten Klasse im Constructor nach dem Base aufruf. Zitieren
steinadler Geschrieben 24. Oktober 2012 Autor Geschrieben 24. Oktober 2012 setz es in der abgeleiteten Klasse im Constructor nach dem Base aufruf. Du meinst so: { InitializeComponent(); base.Appearance = System.Windows.Forms.Appearance.Button; } (wo find ich denn die code-Tags?) ? Das geht nicht. Das Problem scheint, dass der Designer die Zeile Appearance=Normal einfach weglässt; Appearence=Button macht er allerdings. Zitieren
SilentDemise Geschrieben 24. Oktober 2012 Geschrieben 24. Oktober 2012 ich dachte eher an public <className>() : base() { this.appearance = Appearance.Button; } Zitieren
steinadler Geschrieben 25. Oktober 2012 Autor Geschrieben 25. Oktober 2012 Nein... das geht nicht. Der Designer macht bei Appearance=Button folgendes: this.myCheckBox1.Appearance = System.Windows.Forms.Appearance.Button; und bei Appearance=Normal löscht er eben diese Zeile einfach weg. Mir scheint, der Designer weiß, dass der Standardwert dieser Eigenschaft =Normal ist und lässt das daher einfach weg, weil er davon ausgeht, dass das ohnehin so ist. Zitieren
SilentDemise Geschrieben 25. Oktober 2012 Geschrieben 25. Oktober 2012 der designer macht in deinem custom code gar nichts.... Zitieren
Klotzkopp Geschrieben 25. Oktober 2012 Geschrieben 25. Oktober 2012 (bearbeitet) Nein... das geht nicht.Doch, das geht hervorragend. Gerade ausprobiert. Klasse erstellt, Code entsprechend SilentDemises Beispiel eingebaut, Objekt auf eine Form gezogen -> sieht aus wie ein Button. Wenn es bei dir nicht "geht", musst du etwas genauer beschreiben, was du erreichen willst. Bearbeitet 25. Oktober 2012 von Klotzkopp Zitieren
steinadler Geschrieben 25. Oktober 2012 Autor Geschrieben 25. Oktober 2012 Wenn es bei dir nicht "geht", musst du etwas genauer beschreiben, was du erreichen willst. Das hab ich doch schon im ersten Post, oder? Bei mir funktioniert es in diese Richtung ja auch - es wird als Button angezeigt. Nur wenn ich DANN per Designer die Appearance wieder auf =Normal stelle, geht das nicht. Sobald ich kompiliere, wird wieder ein Button draus. Zitieren
Klotzkopp Geschrieben 25. Oktober 2012 Geschrieben 25. Oktober 2012 Das hab ich doch schon im ersten Post, oder?Nein, hast du nicht. Du neigst zu unvollständigen Problembeschreibungen. Nur wenn ich DANN per Designer die Appearance wieder auf =Normal stelle, geht das nicht. Was genau meinst du mit "geht nicht"? Was ist das erwünschte Verhalten, was ist das beobachtete? Möchtest du, dass im Designer ein Button angezeigt wird, wenn du auf Normal stellst? Möchtest du, dass im kompilierten Programm bei Normal wieder eine normale Checkbox zu sehen ist? Zitieren
SilentDemise Geschrieben 25. Oktober 2012 Geschrieben 25. Oktober 2012 Nochmal: der Designer ändert keinen Custom Code, den du außerhalb des automatisch generierten Codes schreibst. Erst werden die componenten initialisiert, die durch den Designer erzeugt wurden, danach dein Custom Code. Wenn du es also abstellen willst, Nimm es aus dem Code. Zitieren
steinadler Geschrieben 25. Oktober 2012 Autor Geschrieben 25. Oktober 2012 Nein, hast du nicht. Du neigst zu unvollständigen Problembeschreibungen. Ich habe geschrieben: "Ändere ich dann jedoch per Designer die Apperance auf "Normal", wird dies nach dem Kompilieren wieder entfernt... Hat jemand eine Idee, wie man das umgehen kann?" Das sagt doch eigentlich aus, dass ich möchte, dass nach dem Kompilieren dann die Appearance=Normal ist (und somit die CheckBox als CheckBox angezeigt wird), oder seh ich das falsch? Was ist das erwünschte Verhalten, was ist das beobachtete? Erwünscht: CheckBox soll (doch wieder) als CheckBox angezeigt werden. Beobachtet: CheckBox wird bis zum Kompilieren als CheckBox angezeigt; nach dem Kompilieren jedoch sofort wieder als Button Möchtest du, dass im Designer ein Button angezeigt wird, wenn du auf Normal stellst? NEIN! Möchtest du, dass im kompilierten Programm bei Normal wieder eine normale Checkbox zu sehen ist? JA! Ich möchte doch nur eine CheckBox haben, die standardmäßig als Pushbutton erscheint, die ich aber nach Belieben auch wieder als CheckBox erscheinen lassen kann. Zitieren
Rekon1602 Geschrieben 13. November 2012 Geschrieben 13. November 2012 Warum setzt du die Appearance im Konstruktor der Klasse? Dadurch wird natürlich das Ausswhen nach dem Starten der Anwenung überschrieben, weil der Code im Konstruktor im Designer nicht berücksichtigt wird. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.