Validation et déplacement entre controls

NETSAGE Messages postés 32 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 11 mars 2008 - 29 mars 2006 à 12:11
OneHacker Messages postés 1447 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.)

5 réponses

biishop Messages postés 26 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 3 juillet 2009
29 mars 2006 à 13:34
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 ...
0
olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 2
29 mars 2006 à 13:35
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
0
NETSAGE Messages postés 32 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 11 mars 2008
29 mars 2006 à 16:10
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.
0
NETSAGE Messages postés 32 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 11 mars 2008
29 mars 2006 à 16:22
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
25 avril 2006 à 12:19
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
0
Rejoignez-nous