Montag, 31. Mai 2010

Aktives Formular abfragen

Bei meinen Anwendungen möchte ich manchmal wissen, ob ein bestimmtes Formular gerade aktiv ist, das heißt, den Benutzerfokus hat. Oder bei Anwendungen mit nur einem Formular, ob somit die komplette Anwendung den Fokus hat.
Mit this wird, wie bestimmt schon öfters erwähnt, das aktuelle Formular angesprochen, die Eigenschaft Focused prüft, ob das Formular den Fokus hat.
Folgender kleiner Beispielcode kann in die Tick - Funktion eines Timers kopiert werden und wechselt so periodisch die Hintergrundfarbe des Formulars, je nachdem, ob das Formular zum Aufrufzeitpunkt den Fokus hat oder nicht:
private void timer1_Tick(object sender, EventArgs e)
{
    if (this.Focused)
        this.BackColor = Color.Red; // Rot wenn Formular Fokus hat
    else
        this.BackColor = Color.Green; // Grün wenn nicht
}

Keine Kommentare:

Kommentar veröffentlichen