十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
将窗体的属性KeyPreview设置为True:
10多年专注成都网站制作,成都企业网站定制,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于成都企业网站定制,高端网页制作,对成都除甲醛等多个领域,拥有丰富的网站建设经验。
Option
Explicit
Private
Sub
Form_KeyPress(KeyAscii
As
Integer)
If
KeyAscii
=
27
Then
'如果按的键是Esc,
End
'那么退出程序
End
If
End
Sub
Private
Sub
Form_Load()
Me.KeyPreview
=
True
End
Sub
“确定”和“取消”是两个很笼统的词,电脑再智能,它也不可能知道你脑子里想要的“确定”或“取消”究竟是什么样的效果以及实现的步骤。所以你肯定要通过编程告知电脑“确定”时要做什么,“取消”时又要做什么。VB给按钮增加Default和Cancel属性,是为了让按钮与键盘建立快捷联系,并不是说只要把按钮的Default或Cancel属性设为True,按钮就自动具有“确认”或“取消”功能了,真是这样的话,那编程就太简单啦!
其实,Default的意思是“默认”,当窗体上有多个按钮同时存在时,如果其中某个按钮的Default属性设为True,它就成为“默认按钮”。而几乎所有人都习惯把回车键作为执行键(就像火箭发射时的点火按钮),因此当按下回车键时,程序就会自动触发这个“默认按钮”,相当于你用鼠标点击了这个按钮,但是,具体要执行什么仍然是需要你在这个按钮的事件过程(一般是Click事件)中进行编程的。
同理,Cancel表示“取消”,通常人们都习惯用Esc键来表示取消某种操作,因此VB就通过Cancel属性把某个按钮与Esc键建立联系,按Esc键就相当于点击了这个按钮。当然,具体要“取消”什么(关闭窗体、取消修改等)是要你通过编程才能实现的,甚至乎可以与“取消”完全不沾边!
一个按钮同时把Default和Cancel属性都设为True是可以的,这样的话,按回车键会触发这个按钮,按Esc键也会触发这个按钮。
但是,在同一个窗体中,最多只能有一个按钮的Default属性设为True,Cancel属性也一样。
'窗体获得焦点才有效,如果无焦点可以使用api函数,自己修改
Option Explicit
Const settime = 1 '这里设置延迟1s
Dim keyup As Boolean, keydown As Boolean
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 27 And Not keydown Then
keyup = False
keydown = True
delaymessage
End If
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 27 Then
keyup = True
keydown = False
End If
End Sub
Function delaymessage()
Dim t, flag As Boolean
t = Timer
Do
If keyup Then Exit Do '未到时间放掉Esc键
If Timer - t = settime Then
flag = True
Exit Do
End If
DoEvents
Loop
If flag Then
Print "时间已到:" settime '可以用msgbox,但由于长安esc后msgbox显示后马上又消失,这里只是一个功能,给你用print做显示
flag = False
End If
End Function
1,建立一个菜单项
2,在菜单编辑器中设置这个菜单项不显示
3,在菜单编辑器中设置这个菜单项的快捷键是ESC.
4,在这个菜单项的代码中,输入结束程序的代码.