Zum Inhalt springen

c# Winforms: Standardwert Appearance in Ableitung ändern


Empfohlene Beiträge

Geschrieben

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

Geschrieben
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.

Geschrieben

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.

Geschrieben (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 von Klotzkopp
Geschrieben
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.

Geschrieben
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?

Geschrieben

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.

Geschrieben
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.

  • 3 Wochen später...
Geschrieben

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.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...