Nom du composant d'un Form

Résolu
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 - 4 oct. 2012 à 22:23
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 - 5 oct. 2012 à 22:17
Bonsoir ,
J'ai des controles sur un formulaire (Form)
Comment puis récupérer le nom (Name) du composant lorsque j'ai la souris dessus.

Je dois utiliser l'événement 'MouseEnter' mais pour la suite je ne sais pas !

Merci
Dédénet2

5 réponses

Utilisateur anonyme
4 oct. 2012 à 22:47
Bonjour,

À première vue et sans avoir testé, je pencherais pour quelque chose du genre dans le mouse_enter

dim nomducontrôle as string 'Du moins je pense que c'est une donnée string
nomducontrôle = Sender.name

                
3
Utilisateur anonyme
5 oct. 2012 à 21:36
Tu as deux solutions :
1 / Abonner par code tous tes contrôles à un événement MouseEnter :
addhandler moncontrole.mouseenter, addressof MaSub

Puis dans la sub appelée (MaSub), tu récupères le nom de ton contrôle à la façon de cmarcotte (que je salue) :
private sub UneSub(sender as object, e as mouseeventargs)
    '...


2 / Tu crée une simple sub (même signature que ci-dessus) à laquelle tu rajoute le mot clé Handles suivi du nom des contrôles devant réagir à l'événement.
private sub UneSub(sender as object, e as mouseeventargs) handles controle1.mouseenter, controle2.mouseenter, .....


On se sert de la première solution pour des contrôles créés dynamiquement (par code) et de la seconde lorsque les contrôles sont déjà placés sur un formulaire.

Pour retirer un abonnement à un événement, on utilise RemoveHandler

Bon courage.
3
Utilisateur anonyme
5 oct. 2012 à 12:25
Bonjour,

nomducontrôle = Sender.name

Une petite précision si l'on veut éviter les erreurs de liaisons tardives (Option Strict activé), il faut 'caster' l'objet sender.
Voir ton aide du côté des opérateurs DirectCast, TryCast ou CType et choisir le plus adapté à la situation.
0
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
5 oct. 2012 à 19:35
Bonsoir
Sender.name fonctionne a condition d'écrire le code dans chaque controle situé dans le formulaire (Form).
Mais y a t'il une autre solution ?
Est ce possible que connaitre de nom du controle en ayant le pointeur dessus et sans écrire de code dans ces controles mais dans un événement du formulaire ?

Merci
Dedenet2
0

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

Posez votre question
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
5 oct. 2012 à 22:17
Je vais essayer

Encore merci !

Dedenet2
0
Rejoignez-nous