Tableau de checkbox [Résolu]

Messages postés
5
Date d'inscription
dimanche 11 décembre 2005
Statut
Membre
Dernière intervention
30 octobre 2007
- - Dernière réponse : NHenry
Messages postés
14457
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
26 mai 2019
- 31 oct. 2007 à 08:05
Bonjour,

je debute en VB, et je souhaite faire un tableau de checkbox pour simuler une matrice a led de 80*7^, et recuperer le code en binaire de chaque ligne

http://img149.imageshack.us/img149/3814/program2fo6.jpg

Sur l'image, c'est un quart du tableau, et sa commence déjà a faire lourd...

Et là le code que j'ai pour chaque CheckBox:

Private Sub CheckBox0_0_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox0_0.CheckedChanged 'Le premier 0est la ligne, le deuxieme la colone
        If Tab(0, 0) = 0 Then
            Tab(0, 0) = 1
        Else
            Tab(0, 0) = 0
        End If

J'aimerais bien savoir si il y a pas un moyen de gerer les CheckBox d'une autre manière ?

Merci d'avance

PS: Je suis sur VB 2005 Express
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
14457
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
26 mai 2019
130
2
Merci
Bonjour

Rapidement (sans EDI) :

En attribut d'objet :
private mtChkBx(,) as CheckBox

dans l'event Load :
dim lMaxX as integer=30 'Limite Max en X (nb colonnes)

dim lMaxY as integer=8 'Limite Max en Y (nb lignes)

dim lSizeChkBx as new size(16,16) 'Taille des Checkbox

redim mtChkBx(lmaxx-1,lmaxy-1)

for X as integer=0 to lmaxx-1
    for Y as integer=0 to lmaxy-1
       mtchkbx(x,y)=new CheckBox
       mtchkbx(x,y).Size=lSize
       mtchkbx(x,y).Location=new point(x*lsize.width,y*lsize.height)
       me.controls.add(mtchkbx(x,y))
    Next
Next

Ensuite dans le reste du code tu utilises :
mtChkBx.GetUpperBound(0) pour la valeur max en X
mtChkBx.GetUpperBound(1) pour la val max en Y
mtChkBx(X,Y) pour récupérer la chkbx correspondante à la position.

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1

Dire « Merci » 2

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 145 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry
Messages postés
14457
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
26 mai 2019
130
0
Merci
Bonjour

Biensur, tu peux générer dynamiquement les chkbx, ensuite utilises un tableau multidimensionnel pour les mémoriser, et pour le events, addhandler.

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Commenter la réponse de NHenry
Messages postés
5
Date d'inscription
dimanche 11 décembre 2005
Statut
Membre
Dernière intervention
30 octobre 2007
0
Merci
Merci,

mais tu peux m'expliquer comment on fait pour faire sa?
Commenter la réponse de HeLlBoY_HeLlBoY
Messages postés
5
Date d'inscription
dimanche 11 décembre 2005
Statut
Membre
Dernière intervention
30 octobre 2007
0
Merci
Merci,

mais tu peux m'expliquer comment on fait pour faire sa?
Commenter la réponse de HeLlBoY_HeLlBoY
Messages postés
5
Date d'inscription
dimanche 11 décembre 2005
Statut
Membre
Dernière intervention
30 octobre 2007
0
Merci
Merci, je vais essayer sa de suite
Commenter la réponse de HeLlBoY_HeLlBoY
Messages postés
5
Date d'inscription
dimanche 11 décembre 2005
Statut
Membre
Dernière intervention
30 octobre 2007
0
Merci
merci sa marche :)

de plus le programme passe de 500ko a 40ko
Commenter la réponse de HeLlBoY_HeLlBoY
Messages postés
14457
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
26 mai 2019
130
0
Merci
Bonjour

Pense "réponse acceptée"

De rien, ça fait plaisir.

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Commenter la réponse de NHenry