如何在 Form的KeyPress事件中得到F1 , F2等功能按键?

shicj 2005-09-27 03:44:38
我设置了Form 的 KeyPreview = True

在KeyPress事件中

Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
Console.WriteLine("key pressed " & e.KeyChar)
End Sub

发现只有abcd1234等键按下时会触发,按F1,F2等键时无反应。请问有无可能捕获功能键?

我知道在KeyDown和KeyUp事件中是可以捕获功能键的。就是不明白为什么KeyPress不行。有高手解释一下吗?
...全文
237 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eddie005 2005-09-27
  • 打赏
  • 举报
回复
这没什么可以解释的,.net framework的帮助里写得很清楚:它非要约定成这样我们也没什么办法

-------------------------------------------------
键事件按下列顺序发生:

KeyDown
KeyPress
KeyUp
非字符键不会引发 KeyPress 事件;但非字符键却可以引发 KeyDown 和 KeyUp 事件。

要仅在窗体级别处理键盘事件并且不允许其他控件接收键盘事件,请将窗体的 KeyPress 事件处理方法中的 KeyPressEventArgs.Handled 属性设置为 true。

16,554

社区成员

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

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