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 :

Boutons dynamique compteur


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    futur ingenieur genie electrique
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : futur ingenieur genie electrique

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Par défaut Boutons dynamique compteur
    bonsoir cher développeur,
    j'ai besoin de votre aide j'ai créer des boutons de façon dynamique et j'ai créer une matrice de caractère. tel que, si je clique sur un bouton, la matrice sera chargé par des lettre "b" dans la position cliqué ainsi son voisinage. Voici mon code aidez moi svp:
    NB i , k compteur de la matrice
    i3,j3 sont ceux des boutons
    NB2: il semble que les compteurs ne sont pas pris en considération et c'est pour ca j'ai pas eu les résultats souhaités

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Private Sub DynamicButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
            Dim i3 As Integer : Dim j3 As Integer
            Dim i As Integer : Dim k As Integer
            Dim Mat(7, 7) As String
            Dim C(i3, j3) As Button
     
            C(i3, j3) = CType(sender, Button)
     
                i = i3
                k = j3
                Mat(6, 6) = " bb" : Mat(5, 5) = "bb" : Mat(6, 5) = "bb" : Mat(6, 7) = "bb" : Mat(5, 6) = "bb" : Mat(7, 6) = "bb" 
                Mat(7, 7) = "bb" : Mat(5, 7) = "bb" : Mat(7, 5) = "bb"

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Init des éléments
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Const XMax As Integer = 7
        Const YMax As Integer = 7
        Dim Mat(XMax, YMax) As String
     
        Private Sub frmManipTextBox_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            CreButton()
            For k As Integer = 0 To XMax
                For l As Integer = 0 To YMax
                    Mat(k, l) = ""
                Next
            Next
        End Sub
    Création des boutons
    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
        Sub CreButton()
            Dim Btn(7, 7) As Button
            For i As Integer = 0 To XMax
                For j As Integer = 0 To YMax
                    Btn(i, j) = New Button()
                    Btn(i, j).Name = "Button" & i & j
                    Btn(i, j).Text = "Button" & i & j
                    Btn(i, j).Top = (i) * 25
                    Btn(i, j).Left = 20 + (j * 75)
                    Btn(i, j).Tag = i & "|" & j
                    AddHandler Btn(i, j).Click, AddressOf DynamicButton_Click
                    Me.Controls.Add(Btn(i, j))
                Next
            Next i
        End Sub
    Marquage sur Clic bouton
    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
        Private Sub DynamicButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
            MarqueBBMatrice(Split(CType(sender, Button).Tag, "|")(0), Split(CType(sender, Button).Tag, "|")(1))
        End Sub
     
        Sub MarqueBBMatrice(ByVal i As Integer, ByVal j As Integer)
            Dim XDebut As Integer
            Dim XFin As Integer
            Dim YDebut As Integer
            Dim YFin As Integer
            ' calcule la zone matrice
            If i > 0 Then XDebut = i - 1
            If i < XMax Then XFin = i + 1
            If j > 0 Then YDebut = j - 1
            If j < YMax Then YFin = j + 1
            ' marque les BB
            For k = XDebut To XFin
                For l = YDebut To YFin
                    Mat(k, l) = "BB"
                Next
            Next
        End Sub
    A+, Hervé.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  3. #3
    Membre actif
    Homme Profil pro
    futur ingenieur genie electrique
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : futur ingenieur genie electrique

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Par défaut
    merci cher ami pour ton aide tu ma sauver la vie

  4. #4
    Membre actif
    Homme Profil pro
    futur ingenieur genie electrique
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : futur ingenieur genie electrique

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Par défaut
    bonsoir comment je fait si je ve faire cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Mat(i, j) = "BB"
            Mat(XDebut, j) = "BB"
            Mat(XFin, j) = "BB"
            Mat(XFin, YDebut) = "BB"
            Mat(i, YDebut) = "BB"
            Mat(XDebut, YDebut) = "BB"
            Mat(XDebut, YFin) = "BB"
            Mat(i, YFin) = "BB"
            Mat(XFin, YFin) = "BB"
    cad si je clique sur un bouton les 9 position seron lui reservé cad le bouton cliqué et son voisinage ne peuvent avoir que un backcolor=color.red
    et qui reste auront un backcolor=color.yellow

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Comme les boutons ont été construit avec un nom contenant les indices il suffit de faire un DirectCast sur le nom des boutons dans la collection des contrôles de la fenêtre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            ' calcule la zone matrice
            If i > 0 Then XDebut = i - 1
            If i < XMax Then XFin = i + 1 Else XFin = i
            If j > 0 Then YDebut = j - 1
            If j < YMax Then YFin = j + 1 Else YFin = j
            ' marque les BB et colorise les boutons
            For k As Integer = XDebut To XFin
                For l As Integer = YDebut To YFin
                    Mat(k, l) = "BB"
                    DirectCast(Me.Controls("Button" & k.ToString & l.ToString), Button).BackColor = Color.Red
                Next
            Next
    Citation Envoyé par king2070 Voir le message
    ... et qui reste auront un backcolor=color.yellow
    Ils sont jaune au départ, ou il faut que tout les boutons hors zone matrice soient jaune ?
    A+, Hervé.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  6. #6
    Membre actif
    Homme Profil pro
    futur ingenieur genie electrique
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : futur ingenieur genie electrique

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Par défaut
    bon daccord je vais vous dire c'est koi mon probleme o juste
    enfaite moi j'ai 4 joueur rouge,jaune , vert , bleu

    et j'ai un text box(sous le nom de n=0) qui affiche le joueur qui va cliqué pour changer le backcolor
    si n.text=1
    le joueur rouge clique et par suite la case cliqué aura un backcolor rouge
    et par suite la case cliqué ainsi son entourage sera lui reserve c'adire si nchange(n.tex<>1) et un joueur veut cliqué sur une case qui est reserve un msgbox affiche construction impossible

    si n.text=2
    le joueur jaune clique et par suite la case cliqué aura un backcolor jaune
    et par suite la case cliqué ainsi son entourage sera lui reserve c'adire si n change(n.tex<>2) et un joueur veut cliqué sur une case qui est reserve un msgbox affiche construction impossible

    si n.tex=3
    le joueur vert clique et par suite la case cliqué aura un backcolor vert
    et par suite la case cliqué ainsi son entourage sera lui reserve c'adire si n change(n.tex<>3) et un joueur veut cliqué sur une case qui est reserve un msgbox affiche construction impossible

    si n.tex=4
    le joueur bleu clique et par suite la case cliqué aura un backcolor bleu
    et par suite la case cliqué ainsi son entourage sera lui reserve c'adire si n change(n.tex<>4) et un joueur veut cliqué sur une case qui est reserve un msgbox affiche construction impossible
    NB:joueur bleu Mat(k, l) = "BB"
    jaune "jj"
    vert "vv"
    rouge"rr"
    NB2 :entourage=entourage indiqué precedement

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

Discussions similaires

  1. [VBA-E] bouton dynamique avec fonction
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 38
    Dernier message: 06/02/2006, 12h43
  2. changer image d'un bouton dynamiquement
    Par Dnx dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/11/2005, 13h03
  3. [VB.Net] usercontrol static et bouton dynamique
    Par krest dans le forum ASP.NET
    Réponses: 19
    Dernier message: 26/07/2005, 17h43
  4. [Forms] Bouton dynamique
    Par lafouine dans le forum Forms
    Réponses: 4
    Dernier message: 20/07/2005, 10h24
  5. Réponses: 2
    Dernier message: 20/01/2004, 14h27

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