Hallo,
Ik werk met Visual Basic 10.0 en ik probeer de code te vinden om 10 labels in een loop te vullen met een random gegenereerde waarde waarvan ik de code al heb.
Ik heb me al ziek gezocht hoe ik dit zou kunnen doen maar geen enkele oplossing werkt. Hier een voorbeeld van wat ik zou willen bereiken:
Dim x As Integer
For x = 1 to 10
"Label & x".Text = "test"
Next
Alle tien de labels zouden dan moeten gevult worden met 'test'. Hier een gedeelte van een mail die ik al eens gestuurt had om help te vragen, daarin zie je wat ik al zelf had gevonden:
Als iemand een efficiente oplossing zou kunnen vinden zou ik dat enorm appreciëren.
Bij voorbaat dank,
Rémy
Ik werk met Visual Basic 10.0 en ik probeer de code te vinden om 10 labels in een loop te vullen met een random gegenereerde waarde waarvan ik de code al heb.
Ik heb me al ziek gezocht hoe ik dit zou kunnen doen maar geen enkele oplossing werkt. Hier een voorbeeld van wat ik zou willen bereiken:
Dim x As Integer
For x = 1 to 10
"Label & x".Text = "test"
Next
Alle tien de labels zouden dan moeten gevult worden met 'test'. Hier een gedeelte van een mail die ik al eens gestuurt had om help te vragen, daarin zie je wat ik al zelf had gevonden:
Mijn probleem is dat ik niet door 10 labels kan loopen om daar dan tekst in te zetten.
Ik zou bevoorbeeld
For X = 1 to 10
Me.("lblOef" & X).Text = "test"
Next X
zoiets gelijkaardigs willen doen. Aangezien vb.net dit niet accepteerd heb ik de volgende manieren geprobeerd:
1.
Dim testLbl 'As Label ' As String
testLbl = Label & intTeller
testLbl.text = "test"
2.
For intTeller = 1 to 10
Me.Controls("lblOef" & intTeller).Text = "test"
next
3.
For intTeller = 1 to 10
Dim lbl = Controls("lblOef" & intTeller)
lbl.Text = "test"
Next
4. (Door alle controls loopen en adhv de soort & een naam de labels changen)
For Each lblTest As Control In Me.Controls
'If lblTest.GetType.ToString = "System.Windows.Forms.Label" And lblTest.Name.Contains("lblOef") Then
lblTest.Text = "test"
End If
Next
5. ( Zonder namefilter en met 'TypeName')
Dim lblTest As Control
For Each lblTest In Me.Controls
If TypeName(lblTest) = "Label" Then
lblTest.Text = "test"
End If
Next lblTest
Op dezelfde manier heb ik een probleem met mijn checkboxes te overlopen:
For t = 0 To 3
1. Dim test = Controls.Item("cbxSoort" & t + 1) ' kan niet gebruikt worden
2. If CType(frmOpties.Controls.Item("cbxSoort" & t + 1), CheckBox).Checked = True Then ' checkbox1, 2, 3, 4: checked = 1 unchecked = 0 'geeft geen error maar tijdens debug NullPointerException
3. If frmOpties.cbxSoort1.Checked = True Then '<- werkt maar slechts voor soort 1
4. cbxSoort & t .checked <- gaat niet
s(t, 1) = 1 'checked
Else 'soort (t): + - * / in volgorde is 1 of 0
s(t, 1) = 0 'unchecked
End If
Next
Als iemand een efficiente oplossing zou kunnen vinden zou ik dat enorm appreciëren.
Bij voorbaat dank,
Rémy
Laatst bewerkt door een moderator: