我会保持按钮的排列:
Private buttons() As Button = { Me.Button1, Me.Button2, Me.Button3, … }
你可以做一个处理程序:
Private Sub Button_Click(sender As Object, e As EventArgs)
' TODO
End Sub
添加处理程序的按钮New()
:
Public Sub New()
Me.InitializeComponent()
For Each b In buttons
AddHandler b.Click, AddressOf Button_Click
Next
End Sub
之后(或之前)这样做,随机buttons
。然后让你希望用户点击下一个跟踪:
Private currentButton As Integer = 0
在处理程序中,检查:
If sender Is buttons(currentButton) Then
' Move to the next button
currentButton += 1
' Was that the end of them?
If currentButton = buttons.Length Then
' All buttons were pressed in the right order
End If
Else
' Wrong!
End If
你可以使用一个列表,但你并不真的需要跟踪如果您知道它们与您已有的订单相符,则按下每个按钮的按钮。
你能显示你试过的代码吗? – Plutonix
我找不到任何逻辑要做到这一点,但试图这样的事情: 点击暗淡由于布尔=假 私人小组的button1_Click(BYVAL发件人为System.Object的,BYVALË作为System.EventArgs)把手Button1.Click clicked = True End Sub – user2866752
您需要的不仅仅是一个点击标志......您需要收集一些东西来识别WHICH按钮被点击并简单地保存为系列的一部分。然后将它与所需的序列顺序进行比较 - 一旦出现故障或结束时。 – Plutonix