Minesweeper

Stimmt da mit der Programmierung von der Erstellung von Button?
Code:
vWhile c > c1
            For i As Short = 1 To a
                btnArray(i) = New Button

                With btnArray(i)
                    .BackColor = Color.DarkGray
                    .FlatStyle = FlatStyle.Popup
                    .Name = "Button" & CStr(i)

                    If XPos + .Width > Me.Width Then
                        XPos = 25
                        YPos += 25
                    End If
                    .Width = 25
                    .Height = 25
                    .Top = YPos
                    .Left = XPos
                    XPos += 25
                    AddHandler .Click, AddressOf btnArray_Click
                End With
                Me.Controls.Add(btnArray(i))


            Next
            c1 = c1 + 1
        End While
        c = 0
Weil ich habe es nicht geschafft bei der Programmierung irgendwie die Buttons anzusteuern.
.
 
Stimmt schon so. Im Click-Event (bei dir wohl btnArray_Click) kannst du den geklickten Button über das Sender-Objekt ermitteln:
Code:
Dim clickedButton As Button = CType(sender, Button)
 
Blöde Frage. Das muss ich jetzt am Anfang eingeben, bevor ich das erstellen der Buttons programmiere. Und nachher kann ich dann schreiben Button4, oder Button7?
 
Nein.
Schau her:
Code:
Private Sub btnArray_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Dim clickedButton As Button = CType(sender, Button) '<-- Dieser Button wurde gedrückt!
    ' Jetzt kannst du dir zum Beispiel den Namen des Buttons in einer MessageBox ausgeben lassen:
    MessageBox.Show(clickedButton.Name)
End Sub
Das funktioniert nur weil du diese Code-Zeile bereits hast:
Code:
AddHandler .Click, AddressOf btnArray_Click
 

Neue Beiträge

Zurück