flashende buttons

turndevil

Mitglied
Hallo Leute.

Könnt ihr mir nicht einen kleinen Denkanstoss zu meinem Button-Problem geben? Ich will einen Button initialisieren, der ein "default"-Image besitzt, der aber auch bei Focus ein anderes Image zeigen soll. (nach dem Prinzip: nicht Focus = blaues Bild, bei Focus = rotes Bild)
Könnt ihr mir da irgendwie weiterhelfen? Könnte ich vielleicht auch den Rahmen, den ein Button bei Focus hat, ändern? Dann müsste ich den nur dicker und vielleicht rot machen dann würde das auch reichen. =)
Ich bin wirklich für jeden Vorschlag (auch Hinweise auf Suchorte) offen.
Schon mal vielen Dank im Voraus.

mfg
tom
 
Das mit den verschiedenen Bildern funktioniert mit den Fokus-Ereignissen wie oben beschrieben. Wenn Du aber den Rahmen ändern willst, dann musst Du Dir ein eigenes Control erstellen, abgeleitet von der Button-Klasse und darin dann die OnPaint-Methode überschreiben. Mittels GDI+ kannst Du Dir dann Deinen eigenen Button zeichnen.
 
Hi.

Danke für die Tipps. Ich werd jetz ein bisschen rumprobieren dann schau mer mal. =)

Wenn bei Visual Studio auf der Eigenschaftenseite eines Buttons eine Methode (wie die Focus-Methoden von oben) nicht aufgeführt sind, muss ich dann noch was am EventHandler schrauben oder kann ich die dann trotzdem verwenden?
Ich werds jetz mal so probieren:

Code:
if (Button.GotFocus()) {
Button.Image = new ...neues Foto...}
else if (Button.LostFocus()) {
Button.Image = new ...altes Foto...}

(so in der Art mein ich)

mfg
tom

edit: Ok so klappts nicht *gg* hat sich auch zu einfach angehört. Ich hab keine Ahnung was ich da für nen EventHandler einfügen soll. Aber bevor jemand meckern muss ...ich durchsuch grad die msdn Bibliothek. =)
 
Zuletzt bearbeitet:
deklarierst dir erstmal nen button

und dem sagst du dann

this.button.GotFocus +=new EventHandler(button1_GotFocus);

und jetzt noch die methode dazu:

private void button_GotFocus(object sender, EventArgs e)
{
//Code der ausgeführt werden soll
}

hoffe das hilft dir soweit erstmal weiter...

schmuseschaf
 
Jupp das passt. Hatte es auch schon so aber noch nen Denkfehler drin. Aber ich hab ja die Musterlösung =).
Aber so wie ich mich kenne kommt bestimmt noch ne Frage.

mfg
tom
 
Zurück