AddHandler van buttons

Status
Niet open voor verdere reacties.

Maffiow

Nieuwe gebruiker
Lid geworden
4 jun 2008
Berichten
1
Code:
Dim button1 As New Button()
button1.Location = New Point(472, buttonHoogte)
Me.Controls.Add(button1)
Dim naamke As String
naamke = woorden(1).ToString.Replace(" ", "")
button1.Name = "btn" & naamke
naamke = button1.Name
button1.Text = woorden(1) & " | " & button1.Name
button1.Size = New Size(200, 20)
AddHandler button1.Click, AddressOf button1_Click
frisDrankTeller += 1
line = inputstream.ReadLine()
buttonHoogte += 25

Deze code had ik al gevonden.. dit zit in een while loop dat een tekstbestand inleest. Nu wil ik het volgende bereiken:

Voor elke button die zo gecreeërd wordt wil ik een clickevent toevoegen.
Het is de bedoeling dat elke button een dranknaam voorstelt, vervolgens wil ik per klik dat deze in een array worden opgeslagen zodat ik de bestellingen op die manier kan bijhouden.

Is dit mogelijk ? Heb dit nodig voor m'n eindproject van vb.net..
 
Dit is inderdaad mogelijk. Je hebt maar 1 handler nodig die je dan aan alle buttons toekent.

Jou code wordt dan:

Code:
Dim button1 As New Button()
button1.Location = New Point(472, buttonHoogte)
Me.Controls.Add(button1)
Dim naamke As String
naamke = woorden(1).ToString.Replace(" ", "")
button1.Name = "btn" & naamke
naamke = button1.Name
button1.Text = woorden(1) & " | " & button1.Name
button1.Size = New Size(200, 20)
AddHandler button1.Click, AddressOf [COLOR="Red"]ButtonClicked[/COLOR]
frisDrankTeller += 1
line = inputstream.ReadLine()
buttonHoogte += 25

en deze code in de handler:

Code:
Private Sub ButtonClicked(ByVal sender As System.Object, ByVal e As System.EventArgs)

     Dim btn As Button = sender
     If btn.Tag IsNot Nothing Then
          Dim i As Integer = btn.Tag
          i += 1
          btn.Tag = i
          'deze drie lijnen kunnen ook vervangen worden door:
          'btn.Tag +=1
          'maar dat kan misschien een fout veroorzaken ...
     Else
          btn.Tag = 1
     End If

End Sub

Nu hoef je gewoon de tag property op te vragen en je hebt het aantal bestellingen!
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan