Private Sub Form_Load()
Me.KeyPreview = True
End SubPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode = vbKey1 Or KeyCode = vbKeyNumpad1
Case Check1.Value = 0
If Check1.Enabled = True Then Check1.Value = 1
If Timer1.Enabled = True Then Timer1.Enabled = False
Case XpCheckBox1.Value = 1
If Check1.Enabled = True Then Check1.Value = 0
If Timer1.Enabled = True Then Timer1.Enabled = False
End Select
End Sub以上是我用键盘事件来响应一个复选框控件和TIMER控件
问题是我按下了除了"1"以外的按键竟然也会相应了次段代码中的TIMER控键(比如说按了"2"或者"3".....)
比如我按了"3"键 虽然Check1没有变化,但是Timer.Enabled却=False了!
请问这是什么原因?
Me.KeyPreview = True
End SubPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode = vbKey1 Or KeyCode = vbKeyNumpad1
Case Check1.Value = 0
If Check1.Enabled = True Then Check1.Value = 1
If Timer1.Enabled = True Then Timer1.Enabled = False
Case XpCheckBox1.Value = 1
If Check1.Enabled = True Then Check1.Value = 0
If Timer1.Enabled = True Then Timer1.Enabled = False
End Select
End Sub以上是我用键盘事件来响应一个复选框控件和TIMER控件
问题是我按下了除了"1"以外的按键竟然也会相应了次段代码中的TIMER控键(比如说按了"2"或者"3".....)
比如我按了"3"键 虽然Check1没有变化,但是Timer.Enabled却=False了!
请问这是什么原因?
以现在的为准
请高手帮忙!谢谢
Private Sub Form_Load()
Me.KeyPreview = True
End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode = vbKey1 Or KeyCode = vbKeyNumpad1
Case Check1.Value = 0
If Check1.Enabled = True Then Check1.Value = 1
If Timer1.Enabled = True Then Timer1.Enabled = False
Case Check1.Value = 1
If Check1.Enabled = True Then Check1.Value = 0
If Timer1.Enabled = True Then Timer1.Enabled = False
End Select
End Sub
[Case expressionlist-n
[statements-n]] . . .
[Case Else expressionlist-n
[elsestatements-n]]
End Select
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 49 Then
If Check1.Value = 0 Then
If Check1.Enabled = True Then Check1.Value = 1
If Timer1.Enabled = True Then Timer1.Enabled = False
ElseIf XpCheckBox1.Value = 1 Then
If Check1.Enabled = True Then Check1.Value = 0
If Timer1.Enabled = True Then Timer1.Enabled = False
End If
End If
End SubPrivate Sub Form_Load()
Me.KeyPreview = True
End Sub
你的代码测试通过
不过我用的是KeyDown事件
所以应该是
If KeyCode = 49 Then
..............
..............
.............
..............
按照4楼的方法
如果我想在判断Check1.Enabled是否为"真"的情况再来执行If Timer1.Enabled = True Then Timer1.Enabled = False 又应该怎么写?
呵呵
问题多多
If KeyAscii = 49 Then
If Check1.Value = 0 Then
If Check1.Enabled = True Then
Check1.Value = 1
If Timer1.Enabled = True Then Timer1.Enabled = False
End If
ElseIf Check1.Value = 1 Then
If Check1.Enabled = True Then
Check1.Value = 0
If Timer1.Enabled = True Then Timer1.Enabled = False
End If
End If
End If
End SubPrivate Sub Form_Load()
Me.KeyPreview = True
End Sub这样写可以吗??????