关于vb的一个简单题目,我想用keydown来改变背景颜色但是没反应,哪位高人解答下,下面是我编的.....
PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=Asc("r")ThenMe.BackC...
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = Asc("r") Then
Me.BackColor = vbRed
End If
End Sub 展开
If KeyCode = Asc("r") Then
Me.BackColor = vbRed
End If
End Sub 展开
3个回答
展开全部
设置窗体的KeyPreview属性为True,另外Keycode不是keyascii,它有自己的常数定义:
Private Sub Form_Load()
KeyPreview = True
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyR Then
Me.BackColor = vbRed
End If
End Sub
Private Sub Form_Load()
KeyPreview = True
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyR Then
Me.BackColor = vbRed
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两种情况要注意:
第一:窗体上面不能有任何的控件。也就是说必须是空白的。
第二:你设置中断,看看你的keydoce是什么?我比较肯定的是那不是asc("r"),直接写数字好了。最多加'备注一下。
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 40 Then'向下的箭头。
Me.BackColor = vbRed
End If
End Sub
第一:窗体上面不能有任何的控件。也就是说必须是空白的。
第二:你设置中断,看看你的keydoce是什么?我比较肯定的是那不是asc("r"),直接写数字好了。最多加'备注一下。
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 40 Then'向下的箭头。
Me.BackColor = vbRed
End If
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
貌似vb的keycode和ascii的编码是不一样的吧,你可以打断点验证一下啊
不会打断点的话,也可以msgbox keycode来看看r的编码到底是什么
不会打断点的话,也可以msgbox keycode来看看r的编码到底是什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询