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

Windows Forms Discussion :

Attribuer un tableau a un ensemble de boutons


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Par défaut Attribuer un tableau a un ensemble de boutons
    Bonjour,
    Dans le cadre d'un projet universitaire , je dois programmer un jeu pour 2 personnes
    Dans ma module , j'ai déclaré un tableau c(14) Integer (Public c(14) As Integer) . Au départ chaque case a une valeur de 3. Au fil du jeu, les valeur du tableau varient en fonction des actions des joueurs
    Pour afficher la valeur des cases du tableau j'ai décidé d'attribuer chaque case à un button car les joueur doit appuyer dessus pour pouvoir jouer.
    Je voudrais savoir comment je fais pour attribuer chaque case à chaque button ( 14 buttons du coup). C'est nécessaire car j'ai besoin que les indices des boutons soient les mêmes que ceux du tableau

    Merci

  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
    Par défaut
    Salut,

    tous les contrôles possèdent un attribut Tag de type Object où on peut caser absolument ce qu'on veut.
    Une astuce pour donc être de mettre dans le Tag de chacun de tes Button l'indice correspondant dans ton tableau.
    Dans l'event Click associé à tous tes boutons tu n'aurais plus qu'à te servir de cette indice pour taper sur le bon élément du tableau, ex. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private void myButtons_Click(object sender, EventArgs e) {
       // je décompose pour que tu vois les étapes de cast, mais on peut tout faire en une ligne
       Button currentButton = (Button)sender;
       int currentIndex = (int)currentButton.Tag;
       // une assignation pour l'exemple, à toi de faire ce que tu as à faire
       myTable[(int)] = 3;
    }

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Salut,

    tous les contrôles possèdent un attribut Tag de type Object où on peut caser absolument ce qu'on veut.
    Une astuce pour donc être de mettre dans le Tag de chacun de tes Button l'indice correspondant dans ton tableau.
    Dans l'event Click associé à tous tes boutons tu n'aurais plus qu'à te servir de cette indice pour taper sur le bon élément du tableau, ex. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private void myButtons_Click(object sender, EventArgs e) {
       // je décompose pour que tu vois les étapes de cast, mais on peut tout faire en une ligne
       Button currentButton = (Button)sender;
       int currentIndex = (int)currentButton.Tag;
       // une assignation pour l'exemple, à toi de faire ce que tu as à faire
       myTable[(int)] = 3;
    }
    En attendant j'ai trouvé une solution bete et mechant.
    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
    20
    21
    22
    23
     
    Private Sub Btn_J16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_J16.Click
            Jouer(5)
            Afficher()
        End Sub
     
     Private Sub Afficher()
            Btn_J11.Text = c(0)
            Btn_J12.Text = c(1)
            Btn_J13.Text = c(2)
            Btn_J14.Text = c(3)
            Btn_J15.Text = c(4)
            Btn_J16.Text = c(5)
            btn_J1panier.Text = c(6)
     
            Btn_J21.Text = c(7)
            Btn_J22.Text = c(8)
            Btn_J23.Text = c(9)
            Btn_J24.Text = c(10)
            Btn_J25.Text = c(11)
            Btn_J26.Text = c(12)
            Btn_J2panier.Text = c(13)
        End Sub
    En gros, j'ai attribué à la main l'indice pour chaque bouton . Ca marche pour ce cas mais quand j'aurai 1000 boutons ce sera une énorme perte de temps
    Je n'ai pas compris ta solution , pourrais tu expliquer plus simple si cela te demande pas trop d'effort s'il te plait ? Je suis curieux de comprendre

  4. #4
    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
    Par défaut
    En fait il faudrait que je sache exactement ce que tu cherches à faire. Quand je lis le dernier code que tu fais suivre j'ai l'impression qu'on parle pas de la même chose (moi j'associe indirectement un bouton à un élément du tableau, toi tu affiches les valeurs de ton tableau dans des boutons).

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Par défaut
    Le but est d'afficher le nombre de jeton dans chaque case( ici un bouton illustre une case). Ta méthode m'a l'air bien plus propre et plus efficace, j'aimerais l'adapter a mon code mais je ne la comprends pas.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Par défaut
    Est ce que tu peux m'aider pour un autre probleme d'indice
    c'est un tableau de 13 case
    compteur peut être égal à 1 ou 2 ou 3
    For o = i + 1 To i + compteur
    c(o) = c(o) + 1
    Next

    a un moment o sera égale à 14( erreur car c() contient que 13 cases). Comment je peux faire pour dire que 14 équivaux a 0 par exemple

Discussions similaires

  1. Récupérer un ensemble de boutons radio à parttern contenu dans leur id
    Par kaboume dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/07/2008, 10h06
  2. Macro: attribuer un nom a un ensemble de cellules
    Par edonist dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/06/2008, 19h56
  3. [AJAX] rafraichir un tableau en fonction d'un bouton radio
    Par mademoizel dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 05/03/2008, 10h32
  4. Identification Click pour un ensemble de Boutons (VB6->VBNet)
    Par Barghis dans le forum Windows Forms
    Réponses: 6
    Dernier message: 30/01/2008, 21h03
  5. [C#] insertion tableau à l'aide d'un bouton
    Par liliprog dans le forum ASP.NET
    Réponses: 2
    Dernier message: 17/06/2005, 09h33

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