就那键盘 左键(控制键)举例吧
左键不是有效字符(有效字符:字母,数字等不为空就行)
左键的ASCII为37 (e.keyvalue)
left(e.keycode)
left(e.keydate)MessageBox.Show(Convert.ToChar(e.KeyValue).ToString())
//返回%
我怎样才能返回空呢求助
左键不是有效字符(有效字符:字母,数字等不为空就行)
左键的ASCII为37 (e.keyvalue)
left(e.keycode)
left(e.keydate)MessageBox.Show(Convert.ToChar(e.KeyValue).ToString())
//返回%
我怎样才能返回空呢求助
解决方案 »
- DevExpress第三方控件如何加单选按钮控件?
- C# 怎样获取DataRow被删除时的值
- 将textarea中的内容插入到数据库中clob的字段,出现错误。
- 高手们帮看下接口问题~~~~~~急!!!
- 代码转换
- 在线等待,我初学.net。做了一个网站,不知道怎样配置服务器。
- froms 后台验证 无效
- C#读取文件夹里的内容
- 使用Microsoft.Practices.EnterpriseLibrary.Data连接sqlce配置字符串如何写
- 求xml导入导入赋值给bindinglist或者list的问题,或者reader跳开<?xml version="1.0" ?>的方法
- 正则表达式问题求教!!!急等!!
- 求教在WINFROM中控件自己移位问题
{
e.Handled = e.KeyChar < '0' || e.KeyChar > '9';//只允许输入数字
if (e.KeyChar == (char)8 || e.KeyChar == (char)46)//如果是退格键或“.”
{
e.Handled = false;//允许输入
}
}
这是向TextBox中输入字符的代码,只允许数字、退格键、“.”三种字符,对于字母你可以自己去找一下ASCII字码表查一下,应该可以完成!具体没理解你的意思!
当我们键盘输入时:
键盘按下 有效字符 ASCII
1 1 49
a a 65
控制方向左键 空 37 ( 我就想得到空,这样就可以根据空来判断是否为有效字符了)
1---------1---------49
a---------a---------65
控制方向左键--空--37 ( 我就想得到空,这样就可以根据空来判断是否为有效字符了)
你如果是要处理输入字符,那就应该直接处理KeyPress事件,而不是处理KeyDown。像方向键这种键,它本来就不产生字符消息(也就是不触发KeyPress事件)。
你想通过把e.keyvalue转化为字符来判断“是否为有效字符”这个是行不通的。e.keyvalue它是按键的扫描码,它和字符码完全是两个体系的东西。把扫描码转化字符没有任何根据和意义。只不过为了形成某种意义上的统一,一些按键的扫描码被定义为了相关字符的ASCII码。比如字母键的扫描码被定义为了对应大写字母的ASCII码,那你说为什么不是对应小写字母的ASCII码,没什么,就是这么定义的。