Visual Studio 2017 VB: 如何让两个按钮交互

Visual Studio 2017 VB: How can I make two buttons interact

刚开始VB,希望你能帮助我。

我正在做一个关于 TFT 游戏的项目,其中每个项目都由两个组件组成。我的项目由 9 个按钮组成,通过按下其中两个(可以是同一个),我希望能够获得特定的项目(作为消息框)。

不知道是否有更好的方法,但我愿意接受建议!

这是一个示例,在选择按钮3时将“检查”按钮更改为绿色,然后选择按钮7,否则将“检查”按钮更改为红色。

按钮排列在标准键盘网格中:

Button1 Button2 Button3
Button4 Button5 Button6
Button7 Button8 Button9

代码:

Public Class Form1

    Private FirstButton As Button = Nothing
    Private SecondButton As Button = Nothing

    Private Buttons As List(Of Button)
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Buttons = New List(Of Button)(
            {Button1, Button2, Button3,
            Button4, Button5, Button6,
            Button7, Button8, Button9})
        Buttons.ForEach(Sub(b) b.Text = "")
    End Sub

    Private Sub AllButtons_Click(sender As Object, e As EventArgs) _
        Handles Button1.Click, Button2.Click, Button3.Click,
        Button4.Click, Button5.Click, Button6.Click,
        Button7.Click, Button8.Click, Button9.Click

        Dim curButton As Button = DirectCast(sender, Button)
        If IsNothing(FirstButton) Then
            FirstButton = curButton
            FirstButton.Text = "1"
        ElseIf IsNothing(SecondButton) Then
            SecondButton = curButton
            If curButton Is FirstButton Then
                curButton.Text = "1, 2"
            Else
                SecondButton.Text = "2"
            End If
        Else
            FirstButton.Text = ""
            SecondButton.Text = ""
            FirstButton = curButton
            FirstButton.Text = "1"
            SecondButton = Nothing
        End If
    End Sub
    Private Sub btnCheck_Click(sender As Object, e As EventArgs) Handles btnCheck.Click
        If FirstButton Is Button3 AndAlso SecondButton Is Button7 Then
            btnCheck.BackColor = Color.Green
        Else
            btnCheck.BackColor = Color.Red
        End If
    End Sub

End Class

运行 例子: