Validation et déplacement entre controls

Messages postés
32
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
11 mars 2008
- - Dernière réponse : OneHacker
Messages postés
1466
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
- 25 avril 2006 à 12:19
Bonjour a tous et toutes;
Depuis que j'ai découverts VB et ensuite VB.NET je n'ai toujours pas su résoudre CORRECTEMENT la validation et le déplacement entre les controls dans un formulaire, ça ne veut pas dire qu'on ne peut pas faire, mais il faut le faire correctement.

Je m'explique, supposons qu'on a 2 controls dans un formulaire et
- on veut que si l'on appui sur 'Return' on lance un controle de données pour par exemple.
- on affiche dans le deuxieme un résultat et on s'y positionne.

Il est bien évident qu'on peut utiliser les évennements de VB lié à chaque control (KeyPress, Keydown,Lostfocus,...).
MAIS IMAGINER QUE VOUS AVEZ PLUS DE 20 CONTROLS SUR LE FORMULAIRE. ON VA PAS S'AMUSER DE GERER CES EVENNEMENTS POUR CHAQU'UN.

Enfin les questions ?
- Comment puis-je grouper un même evennements pour tous les controls au niveau d'un
formulaire ?
- J'en profite pour une autre, comment attrappé l'appui sur TAB dans un control ?

Merci a vous tous pour vos réponses
(Tout ce qui n'est pas partagé ou données est perdu.)
Afficher la suite 

5 réponses

Messages postés
26
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
3 juillet 2009
0
Merci
Ben a voir ca de ma fenetre, tu devrai utiliser les goupes de controle
pour tes objets :
Button(1), Button(2), etc ..
Ainsi tu n'aurai d'un code evenement pour tous.Avec une variable initialisée
contenant le numero ...
Messages postés
520
Date d'inscription
vendredi 30 juillet 2004
Statut
Membre
Dernière intervention
3 mars 2008
1
0
Merci
Pour que plusieurs controls aient la mm gestion au niveau d'une evenement, utilises le mot clé handle:

private sub bouton1_click(...) handles bouton1.click <-- lancé qd on click sur bouton 1
private sub bouton1_click(...) handles bouton1.click, bouton2.click, bouton3.click <-- lancé qd on click sur un des 3 boutons

SI a l'intérieur de ta procédure, tu souhaites savoir quel control a déclecnhé l'evenement, utilises l'objet sender

Rollerman
Messages postés
32
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
11 mars 2008
0
Merci
Merci pour la réponse. Mais en vb.net on a plus la notion d'indexe donc de groupe de contrôles. En tout cas c'est ce que j'ai compris.
Messages postés
32
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
11 mars 2008
0
Merci
L'utilisation du 'Handles' est tentante car elle réduit le source et permet de grouper le code. Toutefois elle me parait un peut lourde. Car si on change le nom d'un control ou on le supprime, il faut se taper la recherche pour supprimer ou modifier le nom du control; Mais ça marche.

En réalité je pense à la délégation en vb. net, or cette délguation est sur un control. La question devient dans ce cas.

Peut-on déléguer un même evennements pour plusieurs controls et si quelqu'un a une idée elle sera la bienvenu ?.

Merci
Messages postés
1466
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
1
0
Merci
Pour Tab met la propriété KeyPreview de ton form à True ensuite dans le Gestionnaire d'évènement met ceci :


Private Sub frmChild_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp



If e.KeyCode = Keys.Tab
Then



' Le code du à la pression de la touche Tab ici



End
If



End
Sub




Redman