Die Schaltfläche " Grafik Staaten in C# Windows Form
Baue ich eine windows forms in C# mit VS2008.Ich habe über 32 Tasten, ich habe ein Bild über den Standard-Tasten, aber ich will einen Hover - /Up - /Down-Effekt für jede dieser Tasten, und ich kann nicht finden diese Informationen überall.
Vielleicht Suche ich nach den falschen Begriffen, jede Richtung ist willkommen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erben aus dem System.Windows.Formen.Button-Klasse und überschreiben Sie die folgenden Methoden:
Würde der code wie folgt Aussehen:
Nun, da Sie mehrere Tasten, man könnte natürlich wiederum die Ressource Akquisitionen in Eigenschaften.
Und verwenden Sie diejenigen, die in der überschriebenen, virtuelle Methoden. Dies ist wahrscheinlich der beste Ansatz. Ich möchte vermeiden, die Antwort unten (nichts für ungut Phoexo), da es eine sehr ungewohnte und unübersichtliche Lösung.
Wenn Sie schreiben und kompilieren Sie den neuen button, können Sie mit einem einfachen suchen und ersetzen oder ändern Sie die vorhandene button-Typen. Sie haben zu tun, ein wenig Aufräumen, und legen Sie die drei Eigenschaften für jede Schaltfläche auf die entsprechenden Bilder, und die Bereinigung einige designer-code, aber das wird Ihr Leben leichter machen auf die Dauer, wenn Sie haben, um weitere Schaltflächen hinzuzufügen.
Klingt wie ein job für die Vererbung von mir. Ich würde eine Unterklasse der Klasse button und der Handhabung der Maus drücken, und lassen Sie Sie durch überschreiben der OnHover, OnPress, OnLeave, und OnPaint-Methoden. Machen Sie Ihre Schaltfläche Malerei in OnPaint.
Ich habe ein Programm benötigt, das mit einigen labels, das Ergebnis kam ich mit (fügen Sie die AddHandles()-void an Form_Load):
Beachten Sie, dass ich ursprünglich verwendet diese Etiketten, so dass es möglicherweise notwendig, einige änderungen.
Implementiert habe ich es viel zu ähnlich zu David Anderson, der die Lösung sofort, aber ich dokumentiert den ist-Zustand und overrided die OnPaint-Methode zu malen, das richtige Bild. Ich weiß nicht, ob es besser ist in irgendeiner Weise, es ist nur, wie ich das Tat.
Verwenden Sie ein Kontrollkästchen oder ein Optionsfeld klicken und dann das Aussehen ändern zu Klicken. Sie können ein Bild hinzufügen, um die Check-Box oder Radio-Schaltfläche wie eine normale Schaltfläche.
Den Einstellung kann festgelegt werden, entweder im Designer oder per code:
CheckBox checkBox = new CheckBox();
checkBox.Aussehen = Aussehen.Taste;