IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Vérifier si il y a eu un click sur un label [Débutant]


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 36
    Points : 15
    Points
    15
    Par défaut Vérifier si il y a eu un click sur un label
    Bonjour à tous,

    J'ai une question peut être assez bête mais qui me pose problème....

    J'ai 13 labels nommé avec le préfixe "LB_Ing" puis leur numéro de 1 à 13
    Je souhaite afficher le texte du Label cliqué dans un ComboBox

    Je pensait donc créé une boucle est si l'un des 13 labels est cliqué alors cela déclenche la boucle qui vérifie les 13 labels l'un après l'autre jusqu’à tomber sur le bon label qui a été cliqué. Seulement que je ne sais pas comment vérifier si un label est cliqué.. Pourriez vous m'aider svp? Ou si vous avez une autre solution pour avoir le même résultat je suis aussi preneur

    Merci d'avance pour votre réponse

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    si je me trompe pas en WinForm les Label ont un évènement Click (contrairement au WPF ... mais c'est peut-être l'inverse ><).
    L'idée serait alors de créer une fonction avec une emprunte du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private void labels_Click(object sender, EventArgs e);
    Et de l'abonner aux events click de tous tes Label.
    Dans cette fonction tu cast le paramètre sender en Label pour pouvoir accéder à son attribut Name et en faire ce que tu veux.

    Pour le coup du ComboBox je suis pas bien sûr de savoir ce que tu veux faire.
    Il est déjà rempli avec tous les noms de tes Label et tu veux sélectionner le bon ? Ou il est vide et tu veux juste y inscrire le nom Label cliqué ?

    edit : si tu veux plus d'explication il faut déjà que tu me dises comment tu génères tes 13 Label.
    Si c'est via le mode designer je t'expliquerai comment faire l'abonnement depuis la vue designer, si c'est dynamiquement je te dirais comme le faire via du code (mais en VB.NET il faudra que je teste d'abord).
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 36
    Points : 15
    Points
    15
    Par défaut
    Alors déjà merci de ta réponse,

    Les 13 Labels sont de base en visibilité false avec leur texte qui est pareil que leur nom
    ensuite l'utilisateur remplis par exemple les 7 premiers Labels avec différents caractères ce qui met leur visibilité sur true (les labels sont forcément rempli dans l'ordre croissant en partant du LB_Ing1 au LB_Ing13 et aucun label ne peut rester d'origine entre deux labels modifier)

    Le contenu des différents labels modifier apparaissent ensuite en tant qu'item dans la ComboBox

    J'aimerai ensuite que si l'utilisateur clique sur un label, son texte apparaissent directement dans la Combobox en tant qu'item sélectionné (donc apparaisse dans le text de la ComboBox) et que cela donne le même résultat que s'il avait fait défilé les items de la ComboBox et sélectionné l'item voulu.

    C'est donc l'action en gras qu'il me reste à faire et qui me pose problème.

    EDIT:
    Oui je pourrais me servir de l’événement Click sur chacun des label individuellement mais pour des raison évidentes je recherche la façon de pouvoir mettre tout les événements Click des 13 Labels dans la même fonction (fonction qui traitera donc les 13 labels)

  4. #4
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Kamikazoide Voir le message
    C'est donc l'action en gras qu'il me reste à faire et qui me pose problème.
    Ce qu'il serait judicieux d'apporter comme élément :

    ---> Comment as-tu créés tes 13 labels : instanciations dynamique ou genre usine à gaz 13 labels glissés depuis la boite à outils ????

    PS : d'une manière ou d'une autre comme l'a évoqué jopopmk, il faut agir sur l'event Click de chaque label <UN POINT C'EST TOUT> !!

    ++

  5. #5
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Et bien voilà c'est plus clair maintenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
        Private Sub LabelAll_Click(sender As Object, e As EventArgs) Handles Label1.Click,
                                                                            Label2.Click,
                                                                            Label3.Click,
                                                                             Label4.Click
            Dim lbl As Label = TryCast(sender, Label)
     
            Select Case lbl.Name
                Case "Label1"
     
                Case "Label2"
     
                Case "Label3"
     
                Case "Label4"
     
            End Select
     
        End Sub
    PS : il coule de source que si tes routines dans chaque label dépendent des unes des autres qu'il faudra malgré tout dissocier les events !!!!!!

    A+

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 36
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par wallace1 Voir le message
    Et bien voilà c'est plus clair maintenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
        Private Sub LabelAll_Click(sender As Object, e As EventArgs) Handles Label1.Click,
                                                                            Label2.Click,
                                                                            Label3.Click,
                                                                             Label4.Click
            Dim lbl As Label = TryCast(sender, Label)
     
            Select Case lbl.Name
                Case "Label1"
     
                Case "Label2"
     
                Case "Label3"
     
                Case "Label4"
     
            End Select
     
        End Sub
    PS : il coule de source que si tes routines dans chaque label dépendent des unes des autres qu'il faudra malgré tout dissocier les events !!!!!!

    A+
    Merci pour ton code, même si cela n'a pas répondu a ma question, j'ai pu me rendre compte que ce que je voulais faire n’était tout simplement....pas possible...

    Mais merci quand même de votre aide à vous deux

  7. #7
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Kamikazoide Voir le message
    Merci pour ton code, même si cela n'a pas répondu a ma question, j'ai pu me rendre compte que ce que je voulais faire n’était tout simplement....pas possible...

    Mais merci quand même de votre aide à vous deux
    Toi tu es bien culotté quand même .... je te cite :

    Oui je pourrais me servir de l’événement Click sur chacun des label individuellement mais pour des raison évidentes je recherche la façon de pouvoir mettre tout les événements Click des 13 Labels dans la même fonction (fonction qui traitera donc les 13 labels)
    Je te réponds :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     Private Sub LabelAll_Click(sender As Object, e As EventArgs) Handles Label1.Click,
                                                                            Label2.Click,
                                                                            Label3.Click,
                                                                             Label4.Click
            Dim lbl As Label = TryCast(sender, Label)
     
            Select Case lbl.Name
                Case "Label1"
     
                Case "Label2"
     
                Case "Label3"
     
                Case "Label4"
     
            End Select
     
        End Sub
    Encore quelqu'un qui ne sait pas correctement exposer un problème !!!!!

    Et qu'on ne t'y reprenne plus, fermes ton topic.

  8. #8
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Petit Re,

    en partant d'une même fonction abonnée aux events click de tous tes Label, tu peux :
    - si la valeur dans le ComboBox est celle de l'attribut Text de ton Label tu peux simplement faire (à tester ; en C#) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myComboBox.SelectedText = ((Label)sender).Text;
    - si tu veux te baser sur l'index, tu peux extraire la valeur du nom de ton Label :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // je considère que tes numéros de Label commence à 1, d'où le -1
    myComboxBox.SelectedIndex = Convert.ToInt32(((Label)sender).Name.Replace("LB_Ing", "")) -1;
    Une seule fonction, une seule ligne de code (un peu épaisse et sans blindage). Voili voilou.

    Bon dev.
    Plus je connais de langages, plus j'aime le C.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 36
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Petit Re,

    en partant d'une même fonction abonnée aux events click de tous tes Label, tu peux :
    - si la valeur dans le ComboBox est celle de l'attribut Text de ton Label tu peux simplement faire (à tester ; en C#) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myComboBox.SelectedText = ((Label)sender).Text;
    - si tu veux te baser sur l'index, tu peux extraire la valeur du nom de ton Label :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // je considère que tes numéros de Label commence à 1, d'où le -1
    myComboxBox.SelectedIndex = Convert.ToInt32(((Label)sender).Name.Replace("LB_Ing", "")) -1;
    Une seule fonction, une seule ligne de code (un peu épaisse et sans blindage). Voili voilou.

    Bon dev.
    Yes parfait, ce semble être ça qui pourra résoudre mon pb, (comme quoi j'ai plutôt bien expliqué mon problème finalement ^^) Merci beaucoup
    (je teste ça dès que j'en ai l'occasion, et je vous tiens au courant ;-) )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. dessiner ligne en click sur une label
    Par djouk dans le forum VB.NET
    Réponses: 4
    Dernier message: 21/05/2010, 13h09
  2. simuler un Click sur un label
    Par Gregory.M dans le forum Windows Presentation Foundation
    Réponses: 13
    Dernier message: 27/05/2008, 16h03
  3. vb net simuler click sur un label
    Par pat.witte dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/12/2007, 10h03
  4. Evenement click sur un Label
    Par Cazman dans le forum ASP.NET
    Réponses: 9
    Dernier message: 08/06/2007, 13h11
  5. Click sur un label
    Par Trunks dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 01/05/2007, 17h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo