Soyez le premier à donner votre avis sur cette source.
Vue 10 265 fois - Téléchargée 854 fois
' dans les déclarations Dim WithEvents MyControlArray As Buttonarray ' dans le load de la fenêtre principale MyControlArray = New Buttonarray(Me) ' Au moment de d'ajouter un bouton ' Propriété .AddNewButton(taille_x, taille_y, pos_x, pos_y, "Nom", "Texte", Valeur_Tarif) MyControlArray.AddNewButton(taille_x, taille_y, pos_x_espace + base_x * (taille_x + 5), pos_y_espace + (base_y * 5) + (base_y) * taille_y, "Bouton n° " & v.ToString, "Nom_Btn" & v.ToString, v) ' Gestion de l'évènement générer par les boutons Private Sub ButtonArray_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyControlArray.Ev_Event ' Mettre votre action ici MsgBox("Bouton Cliqué est " & CType(CType(sender, ClassBtn).texte, String) & vbCr & "Valeur " & CType(CType(sender, ClassBtn).tarif, String)) Valeur_Prix = CType(sender, ClassBtn).tarif End Sub
Mais ta solution est intéressante
En plus je vais améliorer les objets pour en laisser moins dans le principal
Public Sub init_BP(ByVal nb_carte As Integer)
' création dynamique des controls picturebox pour les BP ' pour plusieurs cartes nb_carte = 2,3 ou 4 (ou 1 si qu'une seule bien sûr)
For x As Integer = 1 To nb_carte ' création des controls sur y
For y As Integer = 0 To 7 ' création des controls sur X
' Création du BP pictureBox
Dim BP As PictureBox = New PictureBox
With BP
.Name = "bp" & x & "-" & y ' nom des boutons : bp0-0 à bp3-7
.Size = New Size(47, 52) 'taille des boutons
.Location = New Point((x - 1) * 100, 10 + y * BP.Size.Height) 'place les boutons x puis y
.Image = bp_off
' si nb_carte = 1 alors x=0, si =2 alors x=100 etc...
' sur Y chaque bouton se place 10px en dessous du précédent car * par y, donc y=10, puis 52*y+10. 10 est un esapce entre chaque bouton
.Tag = (x - 1) & (y + 1) 'définie son tag pour le reconnaitre, je concaténe l'adresse de la carte avec son numéro de sortie à allumer (c'est un string)
' donc 01 à 08 pour la carte adr 0, puis de 11 à 18, 21 à 28 et enfin 31 à 38
.Cursor = System.Windows.Forms.Cursors.Hand 'modifie le curseur lors du survol
End With
AddHandler BP.Click, AddressOf PictureBox_Click 'génére ou récupére l'évenement du clic
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.