如何实现一个form上无论焦点在哪里按下esc都退出本窗体?

ayiiq180 2005-10-11 11:04:24
或者说如何设置一个form能够使用的全局快捷键?多谢!
...全文
239 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pupo 2005-10-13
  • 打赏
  • 举报
回复
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
If keyData.Escape Then
Me.Close()
End If
End Function
newmeteor 2005-10-13
  • 打赏
  • 举报
回复
private void QryKog_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
//esc
if(e.KeyValue == 27)
{
Dispose(true);
}
}
wada0880 2005-10-12
  • 打赏
  • 举报
回复
同意用此方法
把FORM的keyPreview属性设置为True
然后写窗体的KEYPRESS事件,当按ESC时CLOSE就可以了
CloneCenter 2005-10-11
  • 打赏
  • 举报
回复
回复人: xhan2000(popeye.net) ( ) 信誉:103 2005-10-11 11:25:00 得分: 0


form有个cancelbutton属性


找到CANCELBUTTON,设置DIALOGRESULT为CANCEL就可以了,关键是这个窗体要使用模式显示。
vickyyu 2005-10-11
  • 打赏
  • 举报
回复
它只对esc键有效,如果想捕获类似F1、F2等键,须要把keyPreview时间设置为true,这时候FORM的KEYPRESS事件才能被执行
vickyyu 2005-10-11
  • 打赏
  • 举报
回复
cancelbutton是指按ESC键时,执行哪个按钮的CLICK事件
xhan2000 2005-10-11
  • 打赏
  • 举报
回复
form有个cancelbutton属性
zhanmafan 2005-10-11
  • 打赏
  • 举报
回复
同意
vickyyu 2005-10-11
  • 打赏
  • 举报
回复
把FORM的keyPreview属性设置为True
然后写窗体的KEYPRESS事件,当按ESC时CLOSE就可以了

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧