VB.net 在窗体的keydown事件中,如果窗体中没有button和textbox则能响应键盘事件,否则不能,敢问大神是何
VB.net在窗体的keydown事件中,如果窗体中没有button和textbox则能响应键盘事件,否则不能,敢问大神是何原因,如何解决,keypreview试啦不行...
VB.net 在窗体的keydown事件中,如果窗体中没有button和textbox则能响应键盘事件,否则不能,敢问大神是何原因,如何解决,keypreview 试啦不行
展开
3个回答
展开全部
因为当焦点在button和textbox上时,button和textbox本身会响应键盘事件,此时Form就不响应了,如果你希望即使在文本框输入文字时,也要响应热键,那就要做全局热键监控,具体方法请百度
追问
恳请赐教
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把窗体的这个属性KeyPreview 设为True,,在检查一遍
更多追问追答
追问
试啦,不行
追答
1. VB.Net 下,在窗体设计起代码中加入:MyBase.KeyPreview = True "
Windows 窗体设计器生成的代码 "
Public Sub New()
MyBase.New() ´这句话使在窗口中任何的按键都只执行一个响应的按键都只执行一个响应
MyBase.KeyPreview = True ´该调用是 Windows 窗体设计器所必需 的。
InitializeComponent() ´在 InitializeComponent() 调用之后添加任何初 始化
End Sub
2.重载OnKeyPress
Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.Ke yPressEventArgs)
Dim key As String key = e.KeyChar
'此处你的操作
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把事件绑定到哪了
追问
MyBase.KeyPress
请问如何解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询