Tableau de checkbox

Résolu
HeLlBoY_HeLlBoY Messages postés 5 Date d'inscription dimanche 11 décembre 2005 Statut Membre Dernière intervention 30 octobre 2007 - 30 oct. 2007 à 00:19
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 - 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

7 réponses

NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
30 oct. 2007 à 14:43
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
2
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
30 oct. 2007 à 08:22
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
0
HeLlBoY_HeLlBoY Messages postés 5 Date d'inscription dimanche 11 décembre 2005 Statut Membre Dernière intervention 30 octobre 2007
30 oct. 2007 à 14:24
Merci,

mais tu peux m'expliquer comment on fait pour faire sa?
0
HeLlBoY_HeLlBoY Messages postés 5 Date d'inscription dimanche 11 décembre 2005 Statut Membre Dernière intervention 30 octobre 2007
30 oct. 2007 à 14:24
Merci,

mais tu peux m'expliquer comment on fait pour faire sa?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
HeLlBoY_HeLlBoY Messages postés 5 Date d'inscription dimanche 11 décembre 2005 Statut Membre Dernière intervention 30 octobre 2007
30 oct. 2007 à 15:57
Merci, je vais essayer sa de suite
0
HeLlBoY_HeLlBoY Messages postés 5 Date d'inscription dimanche 11 décembre 2005 Statut Membre Dernière intervention 30 octobre 2007
30 oct. 2007 à 17:18
merci sa marche :)

de plus le programme passe de 500ko a 40ko
0
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
31 oct. 2007 à 08:05
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
0
Rejoignez-nous