Ereignisse in C# - event handler

Unsere Windowsprogramme laufen nicht linear, sondern ereignisorientiert ab.
Die Programme reagieren auf bestimmte Ereignisse z.B. das Drücken einer Taste oder das Klicken auf einen Button.

Sogenannte event handler (Ereignisbehandlungsroutinen) werden immer dann ausgeführt, wenn ein bestimmtes Ereignis auftritt.

Jedem Steuerelement stehen verschiedene Ereignisse zur Verfügung.
Durch einen Doppelklick auf einen Button gelangt man zum Beispiel in das Ereignis Button_Click.

private void button1_Click(object sender, EventArgs e)
        {

        }

 

Die Variable sender vom Typ object verweist auf die Instanz, die das Ereignis auslöst.
Die Variable e vom Typ EventArgs speichert Ereignisdaten wie zum Beispiel die gedrückte Taste beim Ereignis KeyPress.

Andere Ereignisse, die z.B. einem Button zugeordnet sind, finden Sie, wenn Sie den Button auswählen und im Eigenschaftenfenster auf die Schaltfläche Ereignisse klicken.

Am unteren Ende des Fensters erhalten Sie für jedes Ereignis eine kurze Beschreibung.

Durch einen Doppelklick auf ein Ereignis wird ein entsprechender event handler erzeugt.

 

Beispiele Ereignisse:

Erstellen Sie ein Formular mit vier Labels wie folgt:

Bei einem Klick auf den ersten Label soll sich die Farbe von schwarz auf blau ändern und beim nächsten Klick von blau auf schwarz usw.

Wir verwenden das Ereignis Click im Eigenschaftenfenster.

private void label1_Click(object sender, EventArgs e)
        {
            if (label1.ForeColor == Color.Black)
            {
                label1.ForeColor = Color.Blue;
            }
            else
            {
                label1.ForeColor = Color.Black;
            }
        }

 

Wenn wir mit der Maus den Label "Maus Enter" berühren, wird der Label nach rechts unten verschoben. Dazu verwenden wir das Ereignis MouseEnter.

 

Für die Verschiebung fügen wir folgenden Code ein:

label2.Left = label2.Left + 5;
label2.Top = label2.Top + 7;

 

Der Label "Maus Enter + Leave" soll immer rot sein, solange die Maus darauf zeigt.

private void label3_MouseEnter(object sender, EventArgs e)
        {
           this.label3.ForeColor = Color.Red;
        }
private void label3_MouseLeave(object sender, EventArgs e)
        {
           this.label3.ForeColor = Color.Black;
        }

 

Bei einem Doppelklick auf dem Label "Doppelklick" soll die Schriftart fett werden und beim nächsten Doppelklick wieder normal.

private void label4_DoubleClick(object sender, EventArgs e)
        {
            if (label4.Font.Bold == false)
            {
                label4.Font = new Font(label4.Font, FontStyle.Bold);
            }
            else
            {
                label4.Font = new Font(label4.Font, FontStyle.Regular);
            }
        }