תשובה לדודי
הכל מתבסס על המקש KeyPreview אם למשל אתה רוצה להזיז slider ולעצור אותו אתה תריך להשתמש בשתי timer זה קוד של משהו שיעזור לך Option Explicit Dim darttop As Integer Dim dartleft As Integer Private Sub Command1_Click() Timer1.Enabled = True Command1.Enabled = False KeyPreview = True Slider1.Value = 0 Slider2.Value = 0 dart.Visible = False End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeySpace Then If (Timer1.Enabled) Or (Timer2.Enabled) = True Then Timer1.Enabled = False Timer2.Enabled = False Timer3.Enabled = True Else Timer3.Enabled = False Timer4.Enabled = False KeyPreview = False darttop = Slider1.Value dartleft = Slider2.Value Select Case darttop Case 0 dart.Top = 130 Case 1 dart.Top = 450 Case 2 dart.Top = 720 Case 3 dart.Top = 1040 Case 4 dart.Top = 1320 Case 5 dart.Top = 1630 Case 6 dart.Top = 1920 Case 7 dart.Top = 2200 Case 8 dart.Top = 2520 Case 9 dart.Top = 2800 Case 10 dart.Top = 3120 End Select Select Case dartleft Case 0 dart.Left = 150 Case 1 dart.Left = 450 Case 2 dart.Left = 740 Case 3 dart.Left = 1050 Case 4 dart.Left = 1350 Case 5 dart.Left = 1660 Case 6 dart.Left = 1960 Case 7 dart.Left = 2280 Case 8 dart.Left = 2560 Case 9 dart.Left = 2880 Case 10 dart.Left = 3180 End Select dart.Visible = True Command1.Enabled = True If (Slider1.Value = 5) And (Slider2.Value = 5) Then MsgBox "Congratulation! You win the game!", vbInformation, "Darts" ElseIf (Slider1.Value = 0) Or (Slider2.Value = 0) Then MsgBox "Too bab. Try again.", vbInformation, "Darts" ElseIf (Slider1.Value = 10) Or (Slider2.Value = 10) Then MsgBox "Too bab. Try again.", vbInformation, "Darts" ElseIf (Slider1.Value = 1) Or (Slider2.Value = 1) Then MsgBox "Too bab. Try again.", vbInformation, "Darts" ElseIf (Slider1.Value = 9) Or (Slider2.Value = 9) Then MsgBox "Too bab. Try again.", vbInformation, "Darts" ElseIf (Slider1.Value = 4) And (Slider2.Value = 4) Then MsgBox "Very good. Try again.", vbInformation, "Darts" ElseIf (Slider1.Value = 4) And (Slider2.Value = 5) Then MsgBox "Very good. Try again.", vbInformation, "Darts" ElseIf (Slider1.Value = 4) And (Slider2.Value = 6) Then MsgBox "Very good. Try again.", vbInformation, "Darts" ElseIf (Slider1.Value = 5) And (Slider2.Value = 4) Then MsgBox "Very good. Try again.", vbInformation, "Darts" ElseIf (Slider1.Value = 5) And (Slider2.Value = 6) Then MsgBox "Very good. Try again.", vbInformation, "Darts" ElseIf (Slider1.Value = 6) And (Slider2.Value = 4) Then MsgBox "Very good. Try again.", vbInformation, "Darts" ElseIf (Slider1.Value = 6) And (Slider2.Value = 5) Then MsgBox "Very good. Try again.", vbInformation, "Darts" ElseIf (Slider1.Value = 6) And (Slider2.Value = 6) Then MsgBox "Very good. Try again.", vbInformation, "Darts" Else MsgBox "Nice Try.", vbInformation, "Darts" End If End If End If End Sub Private Sub Form_Load() MsgBox "Start a new game and press space button to stop the slider. Have fun.", vbInformation, "Darts" End Sub Private Sub Timer1_Timer() If Slider1.Value < 10 Then Slider1.Value = Slider1.Value + 1 Else Timer1.Enabled = False Timer2.Enabled = True End If End Sub Private Sub Timer2_Timer() If Slider1.Value > 0 Then Slider1.Value = Slider1.Value - 1 Else Timer1.Enabled = True Timer2.Enabled = False End If End Sub Private Sub Timer3_Timer() If Slider2.Value < 10 Then Slider2.Value = Slider2.Value + 1 Else Timer3.Enabled = False Timer4.Enabled = True End If End Sub Private Sub Timer4_Timer() If Slider2.Value > 0 Then Slider2.Value = Slider2.Value - 1 Else Timer3.Enabled = True Timer4.Enabled = False End If End Sub זה קוד של משחק חיצים שאתה יכול להוריד באתר