J'ai donc eu des problèmes pour ajouter des étiquettes d'une structure d'enregistrement dans une boîte de groupe qui s'empilent verticalement les unes par rapport aux autres. Je pourrais utiliser un panneau de disposition de flux mais j'ai plusieurs étiquettes que je dois ajouter des données dans une structure d'enregistrement que je veux pouvoir défiler plus tard avec une barre de défilement verticale car le défilement automatique fonctionnera seulement avec un panneau, et pas tous leur.L'ajout dynamique d'étiquettes et d'autres contrôles à une zone de groupe dans vb.net ne fonctionne pas?
Pour une raison quelconque, le programme ne place qu'une seule étiquette, et les autres ne semblent pas être visibles même si elles ont été créées (j'ai utilisé un messagebox pour vérifier). Quelqu'un pourrait-il m'aider s'il vous plaît à les mettre dedans, comme je suis assez nouveau à la programmation et ai besoin de l'aide. Pour le contexte, le programme charge 'materials' à partir d'un fichier xml et le stocke dans une structure d'enregistrement, puis ce bit du programme crée des étiquettes et des boutons radio dynamiquement et le place dans une zone de groupe, de sorte qu'il peut être organisé manuellement sur une jolie grille qui deviendra tout défilement en utilisant une barre de défilement plus tard .. Parce que les données que je travaille sont toutes liées, et peuvent avoir des chaînes de tailles multiples (noms et fournisseurs de matériaux par exemple) je ne voulais pas tentent d'ajouter des espaces pour rendre le travail de la grille, mais avec une seule étiquette (pas que les autres montreraient sous la première pour une raison quelconque)
CODE:
'sets up Labels for editing materials
prgFunctions.loadMat()
Dim counter As Integer
Dim newMatIDLabel(numMatFile) As Label
Dim newMatRdb(numMatFile) As RadioButton
Dim lastPos As Integer
'testing to see if materials load GET RID OF LATER
' For counter = 1 To numMatFile
'ListBox1.Items.Add(materials(counter).matName)
' Next
'create the labels with information
For counter = 1 To numMatFile
'ID
newMatIDLabel(counter) = New Label
newMatIDLabel(counter).Name = "lblMatIDNum" & counter
newMatIDLabel(counter).Text = materials(counter).matID
newMatIDLabel(counter).Parent = gbxMaterials
' MsgBox(newMatIDLabel(counter).Name & " " & newMatIDLabel(counter).Text)
Next
'create the checkboxes NOW RADIO BUTTONS
For counter = 1 To numMatFile
newMatRdb(counter) = New RadioButton
newMatRdb(counter).Name = "chkMatSelectNum" & counter
newMatRdb(counter).Text = ""
newMatRdb(counter).Parent = gbxMaterials
Next
'matID locations
lastPos = 10
For counter = 1 To numMatFile
'SOMEHOW MOVE IT INTO THE GROUPBOX INSTEAD, as issues arise everywhere
newMatIDLabel(counter).Location = New Point(7, lastPos + 10)
lastPos = lastPos + 10
Next
merci, cela a fonctionné! Je pensais que j'avais déjà essayé quelque chose de similaire avant, mais évidemment je ne l'ai pas fait: / –