HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Fókusz kezelése, változásának figyelése


Példaprogram letöltése

6835 bájt

Az a kontrol, mely aktuálisan képes adatbevitel fogadására, megkapja és kezeli a billentyűzetről, illetve az egérről származó eseményeket, az birtokolja a fókuszt. A fókuszt mindig csak egy objektum kaphatja meg, ha egy másikat aktivizálunk, akkor az első elveszíti azt. Ennek programból történő előidézését, valamint a fókusz változás bekövetkeztének eseményeit ismerhetjük meg a mellékelt példából.

Mellékelt példában a három TextBox komponens közül mindig annak lesz kék háttérszíne, mely aktuálisan birtokolja a fókuszt. Ennek eléréséhez mind a háromhoz létrehoztunk egy közös Enter és Leave eseménykezelőt. Az Enter esemény akkor jön létre egy objektumnál, ha abba „belépünk”, ekkor a fókuszt is megkapja az adott eszköz. Ebben a pillanatban beállíthatjuk a kék háttérszínt.
Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter, TextBox2.Enter, TextBox3.Enter
    If sender Is TextBox1 Then
        TextBox1.BackColor = Color.Aqua
    End If
    If sender Is TextBox2 Then
        TextBox2.BackColor = Color.Aqua
    End If
    If sender Is TextBox3 Then
        TextBox3.BackColor = Color.Aqua
    End If
End Sub
A másik esemény, a Leave, mely az Enter ellentéte lesz és akkor jön létre, ha egy objektumból épp „kilépünk”. Ez a kilépés persze csak azért valósul meg mert épp egy másik objektum lett az aktív. Ebben a pillanatban a háttér színt visszaállíthatjuk fehérre.
Private Sub TextBox1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Leave, TextBox2.Leave, TextBox3.Leave
    If sender Is TextBox1 Then
        TextBox1.BackColor = Color.White
    End If
    If sender Is TextBox2 Then
        TextBox2.BackColor = Color.White
    End If
    If sender Is TextBox3 Then
        TextBox3.BackColor = Color.White
    End If
End Sub
Persze van lehetőség arra is, hogy programból adjuk át a fókuszt valamely objektumnak. Ehhez a Focus nevű függvényt kell csak meghívnunk. Mivel ez a Control osztályban lett létrehozva, így minden olyan komponens, kontrol tartalmazza, mely ebből származik. Így ha az lenne a feladatunk, hogy a textBox2 komponenst aktiváljuk, akkor ennek a Focus függvényét kell csak meghívnunk.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    TextBox2.Focus()
End Sub
Szintén a Control osztályban deklarált az alábbi három tulajdonság is:
A Focused logikai típusú property vizsgálatával eldönthetjük egy adott objektumról, hogy az birtokolja-e aktuálisan a fókuszt vagy sem.
Amikor a fókuszt megkapja egy objektum, akkor jön létre a GotFocus esemény, míg ennek ellentétekor a LostFocus eseménnyel figyelhetjük a fókuszt elvesztését.

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |