[VB 2005] Herhaling zelfde code

Pagina: 1
Acties:

  • MaartenPol
  • Registratie: Maart 2002
  • Laatst online: 21-04 20:28
Voor school moet ik een programma maken in VB. Daarin moet een meerdere imageboxes tegelijk worden gewijzigd. Hoe je 1 wijzigd is nog niet zo'n probleem. Meerderen ook niet, maar dan krijg ik dus 20 keer de zelfde code met alleen het verschil in 4x 1 nummertje.

Zoals in de code hieronder te zien is heb ik daar staan light1. Dit is de imagebox. Hier zijn er 20 van die allemaal gewijzigd moeten worden. Hoe krijg ik nou een mooie loop zodat ie light1 tot light 20 afloopt?

Visual Basic:
1
2
3
4
5
6
7
8
If lightsselect(1) = 1 Then
   lightsstatus(1) = TrackBar1.Value
   If TrackBar1.Value = 1 Then
      light1.Image = My.Resources.light_1
   Else
      light1.Image = My.Resources.light_out
   End If
End If


Misschien is dit erg simpel hoor, maar dit is ook mijn eerste keer met VB. Heb al wel geprobeerd te zoeken in de MSDN enzo, maar kon niks vinden.

offtopic:
in PHP had ik dit al klaar gehad, maarja

[ Voor 3% gewijzigd door MaartenPol op 15-12-2005 19:44 . Reden: typo's ]


Verwijderd

Je kunt gebruik maken van een array van imageboxes, of een of andere collection (een List of een Dictionary) van imageboxes, afhankelijk van of het aantal checkboxes constant is.

offtopic:
En als je dit in PHP al wel zou hebben opgelost, had je vast niet zulke nette PHP code gehad.

  • MaartenPol
  • Registratie: Maart 2002
  • Laatst online: 21-04 20:28
Ik ben even verder gaan zoeken aan de hand van je opmerking over een array en vond dit op MSDN, ik denk dat ik hier wel wat mee kan.
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
      
     Dim group() As PictureBox = New PictureBox() {Me.PictureBox1, _
                                                    Me.PictureBox2, _
                                                    Me.PictureBox3, _
                                                    Me.PictureBox4}

      For idx As Integer = 0 To UBound(group)
         If group(idx).Image IsNot Nothing Then
            group(idx).Image.Dispose()
            group(idx).Image = Nothing
         End If
      Next