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
运行 例子:
刚开始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
运行 例子: