2015-01-20 3 views
0

그래서 저는 아직도 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 

최종 클래스

!

+0

버튼의'.Enabled' 속성을 사용하십시오. 'btnX.Enabled = (barProgress.Value = 100)'이 If 블록 대신 작동 할 수 있습니다. – Plutonix

+0

Visual Basic에서이 기능이 작동합니까? –

+0

그렇지 않다면 나에게 알려주세요 :) 그냥 생각해 봅시다. 내가 행복하게 만드는 것이 가능하다면,하지만 그렇지 않다면 문제가되지 않습니다! – lxtrxi

답변

1

당신이 사용하고자하는 것은 .Enabled 속성입니다.

Form1_Load에서 모든 버튼에 대해 .Enabled 속성을 False으로 설정합니다.

barProgress.Value = 100 일단 타이머를 중지하고 첫 번째 버튼을 사용 가능하게 설정하십시오.

각 단추에 대한 클릭 이벤트에서 다음 단추 에 대한 .Enabled 속성을 설정했습니다.

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 

* 편집 - 죄송합니다. 여하튼 잘못된 질문을 읽습니다. 내 대답을 수정했습니다.

관련 문제