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

dedenet2 372 Messages postés vendredi 27 juillet 2007Date d'inscription 22 juillet 2013 Dernière intervention - 4 oct. 2012 à 22:23 - Dernière réponse : dedenet2 372 Messages postés vendredi 27 juillet 2007Date d'inscription 22 juillet 2013 Dernière intervention
- 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
Utilisateur anonyme - 4 oct. 2012 à 22:47
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

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Meilleure réponse
Utilisateur anonyme - 5 oct. 2012 à 21:36
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.

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 5 oct. 2012 à 12:25
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
dedenet2 372 Messages postés vendredi 27 juillet 2007Date d'inscription 22 juillet 2013 Dernière intervention - 5 oct. 2012 à 19:35
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
dedenet2 372 Messages postés vendredi 27 juillet 2007Date d'inscription 22 juillet 2013 Dernière intervention - 5 oct. 2012 à 22:17
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.