Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6395|回复: 3

[已解决]求教:退格键为什么不能响应Keypress事件

[复制链接]
发表于 2011-11-3 15:25 | 显示全部楼层 |阅读模式

如题,测试如下代码,按1键会变成0,按退格键却没反应,是不是因为它是控制符?那如何使退格键响应KEYPRESS事件呢?


Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 49 Then KeyAscii = 48
If KeyAscii = 8 Then KeyAscii = 48
End Sub
最佳答案
2011-11-3 15:56
试一下:
  1. Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  2. If KeyCode = vbKeyBack Then MsgBox "你按了回车键!"
  3. End Sub
复制代码
发表于 2011-11-3 15:44 | 显示全部楼层
MSDN:
在按下与 ASCII 字符对应的键时将触发 KeyPress 事件。ASCII 字符集不仅代表标准键盘的字母、数字和标点符号,而且也代表大多数控制键。但是 KeyPress 事件只识别 ENTER、TAB 和 BACKSPACE 键。KeyDown 和 KeyUp 事件能够检测其它功能键、编辑键和定位键。
退格键-> 8 删除键-> 46
回复

使用道具 举报

 楼主| 发表于 2011-11-3 15:55 | 显示全部楼层
谢谢回复,既然能响应退格键,为啥我那个代码没响应呢?
回复

使用道具 举报

发表于 2011-11-3 15:56 | 显示全部楼层    本楼为最佳答案   
试一下:
  1. Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  2. If KeyCode = vbKeyBack Then MsgBox "你按了回车键!"
  3. End Sub
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-21 03:51 , Processed in 0.181341 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表