KeyPress 与KeyDown的奇怪问题!!!

strXiaoCaiNiao 2004-12-01 11:23:02
各位大侠:
我程序中有以下两段代码(一个TextBox和一个DataGrid):
Private Sub txtOrderID_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtOrderID.KeyPress

If e.KeyChar = Chr(13) Then

'Codes1...

End If
End Sub

--------------------
Private Sub dtgSupplier_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles dtgSupplier.KeyDown

If e.KeyCode = Keys.Enter Then

'Codes2...

End If
End Sub

--------------------
一般情况下,按Enter会正常执行Codes1 和Codes2的代码;奇怪的是有的时候(不知什么情况下)按Enter没有响应相应的事件?
请问这可能是什么原因?KeyPress和KeyDown在什么情况下不会响应?

小弟先谢谢各位了!
...全文
198 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jialiang 2004-12-03
  • 打赏
  • 举报
回复
可能被其他控件截获,特别注意检查是那些第三方控件
xisat 2004-12-03
  • 打赏
  • 举报
回复
你是直接的在新建的textbox下做的测试吗?或许是在某些情况下press enter的时候触发了另一个优先的事件(以前做pb碰到过类似问题,因为pb的text有个modify事件也是响应enter press的,这时候keypress无法响应)你可以试试其他的键来排除这种可能。

或者是程序在运行某些过程时正好不接受键盘请求(有可能吗?)

或者键盘有点问题(hoho~~~)
NetBoyShaB 2004-12-03
  • 打赏
  • 举报
回复
没办法的,搞不定的。
strXiaoCaiNiao 2004-12-03
  • 打赏
  • 举报
回复
傍晚结贴

自己UP一下!

:)
strXiaoCaiNiao 2004-12-02
  • 打赏
  • 举报
回复
Night_Elf(风暴虫),谢谢你!你说的可能是没有得到焦点的原因.

为什么大多数情况下可以用,偶尔不行呢?如果关闭后重新运行就可以用了!


Eddie05 2004-12-01
  • 打赏
  • 举报
回复
焦点在控件上才响应
gbbword 2004-12-01
  • 打赏
  • 举报
回复
我觉得可能是你按的太快了吧!:)
haoztao 2004-12-01
  • 打赏
  • 举报
回复
呵呵,这中问题不好说阿,
Night_Elf 2004-12-01
  • 打赏
  • 举报
回复
你的textbox是不是在panel,Goupbox,tabcontrol等容器中呀!如果是的话,拿出来试试!我也不肯定,但我曾碰到过textbox放在tabcontrol中就不能捕获回车了!
strXiaoCaiNiao 2004-12-01
  • 打赏
  • 举报
回复
CloneCenter(复制中心)说的"首先Form.KeyPreview要设置为True"我有设,不好意思,我没有说清楚,还有什么可能的原因呢?我觉得很奇怪!
CloneCenter 2004-12-01
  • 打赏
  • 举报
回复
首先Form.KeyPreview要设置为True,Key_press才会有用,按Enter键对Button这样的控件Key_Press是没有用处的。

Key_Down事件不受这些影响。
strXiaoCaiNiao 2004-12-01
  • 打赏
  • 举报
回复
谢谢大家的支持!

Eddie05(♂) 暴赱 『零零伍』 (︶﹏︶),这位兄弟说的没有错,但我测试的焦点已经在上面了,所以可能是其它因原

继续发表高见!

16,549

社区成员

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

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