阻止按钮,直到按下特定按钮

Block off buttons until specific button is pressed

所以,我仍在学习 Visual Basic,所以我不完全确定我应该搜索什么,但是我刚刚被分配了一个模拟提款机的任务,我无法提交任何课程作业这只是为了好玩。但是,我试图找出如何阻止任何按钮,直到按下它之前的按钮。例如,我有一个模拟输入信用卡的按钮,然后是一个进度条。但是,我希望在进度条完成之前阻止按钮 1 - 9。我当前的代码是:

Public Class Form1

Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
    txtNumber.Text = txtNumber.Text & "1"
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    barProgress.Increment(5)
    If barProgress.Value = 100 Then
        MsgBox("Please insert your pin into our secure system.")
    End If
End Sub

Private Sub btnInsertCard_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInsertCard.Click
    Timer1.Start()

    If btnInsertCard.Text = "Insert Your Card" Then
        btnInsertCard.Text = "Please wait.."

    End If

End Sub

Private Sub btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.Click
    txtNumber.Text = txtNumber.Text & "2"
End Sub

Private Sub btn3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn3.Click
    txtNumber.Text = txtNumber.Text & "3"
End Sub

Private Sub btn4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn4.Click
    txtNumber.Text = txtNumber.Text & "4"
End Sub

Private Sub btn5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn5.Click
    txtNumber.Text = txtNumber.Text & "5"
End Sub

Private Sub btn6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn6.Click
    txtNumber.Text = txtNumber.Text & "6"
End Sub

Private Sub btn7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn7.Click
    txtNumber.Text = txtNumber.Text & "7"
End Sub

Private Sub btn8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn8.Click
    txtNumber.Text = txtNumber.Text & "8"
End Sub

Private Sub btn9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn9.Click
    txtNumber.Text = txtNumber.Text & "9"
End Sub

Private Sub btn0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn0.Click
    txtNumber.Text = txtNumber.Text & "0"
End Sub

Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
    txtNumber.Clear()
End Sub

结束Class

如有任何帮助,我们将不胜感激!

我想你想用的是 .Enabled 属性.

在 Form1_Load 中,我将所有按钮的 .Enabled 属性 设置为 False

一旦 barProgress.Value = 100 我停止计时器并启用第一个按钮。

然后在每个按钮的点击事件中,我将下一个按钮的 .Enabled 属性 设置为 True

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim buttonArray = {btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9, btn0}

    For Each button In buttonArray
        button.Enabled = False
    Next
End Sub

Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
    txtNumber.Text = txtNumber.Text & "1"
    btn2.Enabled = True
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    barProgress.Increment(5)
    If barProgress.Value = 100 Then
        Timer1.Stop()
        btn1.Enabled = True
        MsgBox("Please insert your pin into our secure system.")
    End If
End Sub

Private Sub btnInsertCard_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInsertCard.Click
    Timer1.Start()

    If btnInsertCard.Text = "Insert Your Card" Then
        btnInsertCard.Text = "Please wait.."

    End If

End Sub

Private Sub btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.Click
    txtNumber.Text = txtNumber.Text & "2"
    btn3.Enabled = True
End Sub

Private Sub btn3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn3.Click
    txtNumber.Text = txtNumber.Text & "3"
    btn4.Enabled = True
End Sub

Private Sub btn4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn4.Click
    txtNumber.Text = txtNumber.Text & "4"
    btn5.Enabled = True
End Sub

Private Sub btn5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn5.Click
    txtNumber.Text = txtNumber.Text & "5"
    btn6.Enabled = True
End Sub

Private Sub btn6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn6.Click
    txtNumber.Text = txtNumber.Text & "6"
    btn7.Enabled = True
End Sub

Private Sub btn7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn7.Click
    txtNumber.Text = txtNumber.Text & "7"
    btn8.Enabled = True
End Sub

Private Sub btn8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn8.Click
    txtNumber.Text = txtNumber.Text & "8"
    btn9.Enabled = True
End Sub

Private Sub btn9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn9.Click
    txtNumber.Text = txtNumber.Text & "9"
    btn0.Enabled = True
End Sub

Private Sub btn0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn0.Click
    txtNumber.Text = txtNumber.Text & "0"
End Sub

Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
    'txtNumber.Clear()
    txtNumber.Text = Nothing
End Sub

End Class

*编辑 - 抱歉,我以某种方式读错了你的问题。更正我的答案。