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 :

Re-indexer des Boutons


Sujet :

VB.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Scientist
    Inscrit en
    Mai 2013
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Scientist
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2013
    Messages : 110
    Points : 87
    Points
    87
    Par défaut Re-indexer des Boutons
    Bonjour,

    J'ai cree des Boutons dynamiquement sur un Panel.
    A chaque fois, je leur donne un Text avec un numero (1 a 7 par exemple).

    Je voudrais savoir comment m'y prendre pour renommer les boutons en fonction de leurs positions TOP/LEFT. Celui qui se trouve le plus en haut a gauche aura le nombre 1...

    Le code ci-dessous ne marche pas, car il marche en fonction de la propriete TabIndex. Bref, si vous avez une idee, une facon de si prendre, je suis preneur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Private Sub reindexingButtonList()
            Dim i As Integer = 0
            For Each b As Button In myPanel.Controls
                i = i + 1
                b.Text = i.ToString
            Next
    End Sub
    Je pensais a une double boucle For Each, mais après, je ne sais pas trop comment m'y prendre pour comparer 2 boutons. Ou bien il y a peut-etre plus simple.

    Merci,
    A+
    JLuc01

  2. #2
    Membre habitué Avatar de Razorflak
    Homme Profil pro
    Développeur Flex/AS3
    Inscrit en
    Juin 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Flex/AS3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 97
    Points : 192
    Points
    192
    Par défaut
    Bonjour,
    Se que tu peux essayer, c'est de mettre tous tes boutons dans une liste. D'ecrire une classe avec l'interface IComparer et la méthode de Compare qui tri tes boutons selon leur position (Monbouton.Location. (X) ou (Y) ). Et enfin de les renommé comme tu le fais actuelment mais avec ta liste.

    Cordialment

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    un truc dans le genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for each b as button in (from btn in me.controls.oftype(of button) order by btn.top, btn.left select  btn)
     
    next
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre régulier
    Homme Profil pro
    Scientist
    Inscrit en
    Mai 2013
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Scientist
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2013
    Messages : 110
    Points : 87
    Points
    87
    Par défaut
    Salut,

    Et merci Pol63, cela marche parfaitement! Et tres court.
    J'ai note qu'il y a deja 3 personnes qui ont approuve.
    Si je ne me trompes pas , c'est du LINQ?

    Voici le code adapte a mes besoins:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub reindexingButtonList()
            Dim i As Integer = 0
            For Each b As Button In (From btn In myPanel.Controls.OfType(Of Button)() Order By btn.Top, btn.Left Select btn)
                i = i + 1
                b.Text = i.ToString
            Next
    End Sub
    Merci,
    A+
    JLuc01

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Citation Envoyé par JLuc01 Voir le message
    Si je ne me trompes pas , c'est du LINQ?
    oui
    linq est un genre de greffon de language fonctionnel permettant de dire ce qu'on veut et ça code la ou les boucles derrière
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. [VB.Net] Indexer des boutons
    Par Whombat dans le forum Windows Forms
    Réponses: 1
    Dernier message: 05/06/2011, 10h03
  2. proprietes des boutons
    Par DALI EDY dans le forum MFC
    Réponses: 2
    Dernier message: 14/02/2004, 08h22
  3. Réponses: 2
    Dernier message: 31/08/2002, 14h00

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