Nom du composant d'un Form [Résolu]

Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Dernière intervention
22 juillet 2013
- - Dernière réponse : dedenet2
Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
0
Merci
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.
Commenter la réponse de Utilisateur anonyme
Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Dernière intervention
22 juillet 2013
0
Merci
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
Commenter la réponse de dedenet2
Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Dernière intervention
22 juillet 2013
0
Merci
Je vais essayer

Encore merci !

Dedenet2
Commenter la réponse de dedenet2

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.