Minesweeper

Nikolaus1

Grünschnabel
Hallo
Ich habe mir vorgenommen ein Mineswipper zu programmieren, doch jetzt bin ich hengeblieben und weiß überhaupt nicht ob das so geht.

Code:
Public Class Form1
    Dim XPos, YPos, a, a1, c, c1, m As Single
    Dim B As Button
    Private btnArray(2000) As Button
    Private PicArray(2000) As PictureBox

    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        YPos = 50
        XPos = 25
        With Me

            .Width = a * 25 + 75
            .Height = c * 25 + 100
        End With
        While 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


        While c > c1
            For i As Short = 1 To a
                PicArray(i) = New PictureBox

                With PicArray(i)

                    .Name = "Picture" & CStr(i)

                    If XPos + .Width > Me.Width Then
                        XPos = 25
                        YPos += 25
                    End If
                    .Width = 25
                    .Height = 25
                    .Top = YPos
                    .Left = XPos
                    XPos += 25

                End With
                Me.Controls.Add(PicArray(i))


            Next
            c1 = c1 + 1
        End While
        c = 0
    End Sub

    Private Sub btnArray_Click(ByVal sender As Object, _
                               ByVal e As System.EventArgs)
        ' Click-Ereignis des Button-Arrays auswerten
        Dim itemClicked As Button = CType(sender, Button)
        Dim index As Integer = -1I

        ' Das betroffene Element im Array suchen (allgemein);
        ' Möglich wäre etwa auch das Vorgehen über die eigens
        ' zugewiesene Name-Eigenschaft des Buttons.
        For i As Integer = LBound(btnArray) To UBound(btnArray)
            If btnArray(i) Is itemClicked Then
                index = i
                Exit For
            End If
        Next

        If index > 0 Then ' Element im Array gefunden (sonst index = -1)
            ' Kurze Informations-MessageBox für das Codebeispiel
            MessageBox.Show("Sie haben den Button Nr. " & CStr(index) & " angeklickt", _
                            "Index des Buttons ermittelt", _
                            MessageBoxButtons.OK, _
                            MessageBoxIcon.Information)
        End If

    End Sub

    Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
        End
    End Sub

    Private Sub AnfängerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AnfängerToolStripMenuItem.Click
        a = 0
        c = 0
        m = 0
        a = 9
        c = 9
        m = 10
    End Sub

    Private Sub FortgeschrittenerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FortgeschrittenerToolStripMenuItem.Click
        a = 0
        c = 0
        m = 0
        a = 16
        c = 16
        m = 40
    End Sub

    Private Sub ProfiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProfiToolStripMenuItem.Click
        a = 0
        c = 0
        m = 0
        a = 30
        c = 16
        m = 99
    End Sub
End Class

Würde mich sehr über Hilfe Freuen
Mit freundlichen Grüßen Nikolaus1
 
Naja. Ich weiß nicht wie ich jetzt z.B. einen Button konkret ansteruern kann. und wie der dann heißt und ich würde gerne wissen ob das bisher überhaupt stimmt.
Danke für die so schnelle antwort.

Muss noch dazu sagen. Ich habe auch nicht so viel erfahrung mit Visual Basic.
 
Das mit dem Namen, naja, hab nicht aufgepasst. Und danke wegen dem Forum, ich habe nur Visual Basic gelesen ung habe mir gedacht, das das richtig ist.
Trotzdem, Danke.
 
Ein Control auf einer Form sprichst du generell so an:
Code:
Me.Controls.Item("ControlName")
 
Zuletzt bearbeitet:
Wenn im Designer die Eigenschaft "GenerateMember" auf True gestellt ist (Standardeinstellung), dann kannst du ein Control mit dem Namen, sagen wir "ControlName", auch so ansprechen:
Code:
Me.ControlName
Aber ließ dir doch vielleicht erst mal ein paar Tutorials zu VB.Net durch!
 
Zurück