Autor Beitrag
MartinBush
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46



BeitragVerfasst: Fr 27.06.08 18:09 
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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 27.06.08 18:53 
Hallo!

Du kannst Dir Deine eigene Button-Klasse ableiten:
ausblenden 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

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
MartinBush Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46



BeitragVerfasst: Fr 27.06.08 19:05 
Prima danke