10. april 2007 - 19:56
Der er
4 kommentarer og
1 løsning
Oprette flere knapper med løkke
X Jeg har følgende kode. Jeg vil gerne ændre den således at den kan oprette flere knapper i en løkke. Hvordan kan der lade sig gøre i visual basic express.
Dim button1 As New Button()
button1.Text = ("HEJ")
button1.Location = New Point(15, 15)
Controls.Add(button1
Hej,
Hvis jeg har forstået dig korrekt, så er det noget i denne stil, du ønsker. Det væsentlige trick er, at du skal huske at koble en delegate på knappernes clickevent med AddHandler.
Oprettelse af knapper dynamisk:
Private Sub CreateButtons(ByVal numberOfButtons As Integer)
For i As Integer = 0 To numberOfButtons - 1
Dim btn As New Button()
btn.Location = New Point(10, 25 * i) ' eller hvor de nu skal placeres - burde nok være parametre til metoden
btn.Name = "btn" + i.ToString()
btn.Text = "Knap " + i.ToString()
AddHandler btn.Click, AddressOf HandlerButtonClick ' kobler delegate på clickeventet
Controls.Add(btn)
Next
End Sub
Eventhandler, hvor alle dine dynamisk oprettede knappers clickevent håndteres:
Private Sub HandlerButtonClick(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim btn As Button = CType(sender, Button)
Dim btnIndex As Integer = System.Int32.Parse(btn.Name.Replace("btn", ""))
' Gøre hvad der nu skal gøres afhængigt af, hvilken knap det nu er der er trykket på
End Sub
Håber du kan bruge det.
Mvh.
Jens