Entwickler-Ecke
WinForms - Buttonfarbe beim Focus ändern - für alle Buttons in der Form
MartinBush - Fr 27.06.08 18:09
Titel: Buttonfarbe beim Focus ändern - für alle Buttons in der Form
Hi,
ich habe ein Form für eine PocketPC Apllication.
Wenn ein bestimmter Button den Focus hat soll sich seine Farbe ändern. Ich möchte das generell für alle Knöpfe so haben - zu jedem Knopf eine Funktion GotFocus und Lostfocus verursacht ja zu viel Code. Für jeweils einen Knopf ist mir die Funktion klar.
Geht das nicht auch über die ganze Klasse Buttons?
Mfg Martin
Christian S. - Fr 27.06.08 18:53
Hallo!
Du kannst Dir Deine eigene Button-Klasse ableiten:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| class HighlightButton : Button { public Color HighlightBackColor {get; set;} private Color oldBackColor;
protected override void OnGotFocus(EventArgs e) { oldBackColor = this.BackColor; this.BackColor = highlightBackColor; base.OnGotFocus(e); }
protected override void OnLostFocus(EventArgs e) { this.BackColor = oldBackColor; base.OnLostFocus(e); } } |
Nach einmaligen Erstellen des Projektes erscheint die dann auch in der Deiner Toolbox und Du kannst sie ganz normal im Designer verwenden.
Wenn Du keine eigene Klasse haben willst, kannst Du den selben Event-Handler allen Buttons zuweisen.
Grüße
Christian
MartinBush - Fr 27.06.08 19:05
Prima danke
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!