编辑框输入限制可以通过键值来完成
2014-03-11 08:55
225 查看
我在完成一个小功能时得到的解决方案,在此记录,仅供自己备忘,如果对你有用也非常开心。
编辑框输入时间,要求小时在0~23,分钟在0~59编辑框,编辑框只能输入数字和Backspace、Delete
为小时和分钟的的编辑框分别添加KeyPress和TextChanged事件函数。
private void TbTime_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
if (e.KeyChar>='0' || e.KeyChar<='9')
{
TextBox tb = (TextBox)sender;
m_SenderText=tb.Text;//记录原始字符串
e.Handled = false;
}
if (e.KeyChar == (char)0x08 || e.KeyChar==(char)0x2E)
{
e.Handled = false;
}
}
private void TbTime_TextChanged(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
if (tb.Text!="")
{
try
{
int value = Convert.ToInt32(tb.Text);
if (tb.Tag.ToString()=="H")//编辑框的tag已经标识小时
{
if (value>23)
{
tb.Text = m_SenderText;
}
}
else if (tb.Tag.ToString()=="M")//编辑框的tag已经标识分钟
{
if (value>59)
{
tb.Text = m_SenderText;
}
}
}
catch{}
}
}
以下键值在网站上看到的
键盘各键对应的键值
描述
0x1 鼠标左键
0x2 鼠标右键
0x3 CANCEL 键
0x4 鼠标中键
0x8 BACKSPACE 键
0x9 TAB 键
0xC CLEAR 键
0xD ENTER 键
0x10 SHIFT 键
0x11 CTRL 键
0x12 MENU 键
0x13 PAUSE 键
0x14 CAPS LOCK 键
0x1B ESC 键
0x20 SPACEBAR 键
0x21 PAGE UP 键
0x22 PAGE DOWN 键
0x23 END 键
0x24 HOME 键
0x25 LEFT ARROW 键
0x26 UP ARROW 键
0x27 RIGHT ARROW 键
0x28 DOWN ARROW 键
0x29 SELECT 键
0x2A PRINT SCREEN 键
0x2B EXECUTE 键
0x2C SNAPSHOT 键
0x2D INSERT 键
0x2E DELETE 键
0x2F HELP 键
0x90 NUM LOCK 键
A 至 Z 键与 A – Z 字母的 ASCII 码相同:
值 描述
65 A 键
66 B 键
67 C 键
68 D 键
69 E 键
70 F 键
71 G 键
72 H 键
73 I 键
74 J 键
75 K 键
76 L 键
77 M 键
78 N 键
79 O 键
80 P 键
81 Q 键
82 R 键
83 S 键
84 T 键
85 U 键
86 V 键
87 W 键
88 X 键
89 Y 键
90 Z 键
0 至 9 键与数字 0 – 9 的 ASCII 码相同:
值 描述
48 0 键
49 1 键
50 2 键
51 3 键
52 4 键
53 5 键
54 6 键
55 7 键
56 8 键
57 9 键
下列常数代表数字键盘上的键:
值 描述
0x60 0 键
0x61 1 键
0x62 2 键
0x63 3 键
0x64 4 键
0x65 5 键
0x66 6 键
0x67 7 键
0x68 8 键
0x69 9 键
0x6A MULTIPLICATION SIGN (*) 键
0x6B PLUS SIGN (+) 键
0x6C ENTER 键
0x6D MINUS SIGN (–) 键
0x6E DECIMAL POINT (.) 键
0x6F DIVISION SIGN (/) 键
下列常数代表功能键:
值 描述
0x70 F1 键
0x71 F2 键
0x72 F3 键
0x73 F4 键
0x74 F5 键
0x75 F6 键
0x76 F7 键
0x77 F8 键
0x78 F9 键
0x79 F10 键
0x7A F11 键
0x7B F12 键
0x7C F13 键
0x7D F14 键
0x7E F15 键
0x7F F16 键
编辑框输入时间,要求小时在0~23,分钟在0~59编辑框,编辑框只能输入数字和Backspace、Delete
为小时和分钟的的编辑框分别添加KeyPress和TextChanged事件函数。
private void TbTime_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
if (e.KeyChar>='0' || e.KeyChar<='9')
{
TextBox tb = (TextBox)sender;
m_SenderText=tb.Text;//记录原始字符串
e.Handled = false;
}
if (e.KeyChar == (char)0x08 || e.KeyChar==(char)0x2E)
{
e.Handled = false;
}
}
private void TbTime_TextChanged(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
if (tb.Text!="")
{
try
{
int value = Convert.ToInt32(tb.Text);
if (tb.Tag.ToString()=="H")//编辑框的tag已经标识小时
{
if (value>23)
{
tb.Text = m_SenderText;
}
}
else if (tb.Tag.ToString()=="M")//编辑框的tag已经标识分钟
{
if (value>59)
{
tb.Text = m_SenderText;
}
}
}
catch{}
}
}
以下键值在网站上看到的
键盘各键对应的键值
描述
0x1 鼠标左键
0x2 鼠标右键
0x3 CANCEL 键
0x4 鼠标中键
0x8 BACKSPACE 键
0x9 TAB 键
0xC CLEAR 键
0xD ENTER 键
0x10 SHIFT 键
0x11 CTRL 键
0x12 MENU 键
0x13 PAUSE 键
0x14 CAPS LOCK 键
0x1B ESC 键
0x20 SPACEBAR 键
0x21 PAGE UP 键
0x22 PAGE DOWN 键
0x23 END 键
0x24 HOME 键
0x25 LEFT ARROW 键
0x26 UP ARROW 键
0x27 RIGHT ARROW 键
0x28 DOWN ARROW 键
0x29 SELECT 键
0x2A PRINT SCREEN 键
0x2B EXECUTE 键
0x2C SNAPSHOT 键
0x2D INSERT 键
0x2E DELETE 键
0x2F HELP 键
0x90 NUM LOCK 键
A 至 Z 键与 A – Z 字母的 ASCII 码相同:
值 描述
65 A 键
66 B 键
67 C 键
68 D 键
69 E 键
70 F 键
71 G 键
72 H 键
73 I 键
74 J 键
75 K 键
76 L 键
77 M 键
78 N 键
79 O 键
80 P 键
81 Q 键
82 R 键
83 S 键
84 T 键
85 U 键
86 V 键
87 W 键
88 X 键
89 Y 键
90 Z 键
0 至 9 键与数字 0 – 9 的 ASCII 码相同:
值 描述
48 0 键
49 1 键
50 2 键
51 3 键
52 4 键
53 5 键
54 6 键
55 7 键
56 8 键
57 9 键
下列常数代表数字键盘上的键:
值 描述
0x60 0 键
0x61 1 键
0x62 2 键
0x63 3 键
0x64 4 键
0x65 5 键
0x66 6 键
0x67 7 键
0x68 8 键
0x69 9 键
0x6A MULTIPLICATION SIGN (*) 键
0x6B PLUS SIGN (+) 键
0x6C ENTER 键
0x6D MINUS SIGN (–) 键
0x6E DECIMAL POINT (.) 键
0x6F DIVISION SIGN (/) 键
下列常数代表功能键:
值 描述
0x70 F1 键
0x71 F2 键
0x72 F3 键
0x73 F4 键
0x74 F5 键
0x75 F6 键
0x76 F7 键
0x77 F8 键
0x78 F9 键
0x79 F10 键
0x7A F11 键
0x7B F12 键
0x7C F13 键
0x7D F14 键
0x7E F15 键
0x7F F16 键
相关文章推荐
- Flash简单加密 限制 Flash 在指定域名/网址中播放的方法
- 浏览器 cookie 限制
- DB2 日期和时间的函数应用说明
- asp格式化日期时间格式的代码
- 阿拉伯数字转大写中文_财务常用sql存储过程
- C# 正则判断一个数字的格式是否有逗号的代码
- 比较简洁的JavaScript 实时显示时间的脚本 修正版
- access的备注字段限制64K
- SQL字符串以及数字常用操作汇总
- php mssql 时间格式问题
- PHP 数字左侧自动补0
- 基于.Net中的数字与日期格式化规则助记词的使用详解
- 页面导出为Excel的时间格式的问题
- 兼容firefox的文本框只能输入两位小数的数字的代码
- javaScript parseInt字符转化为数字函数使用小结
- asp下实现IP限制函数代码
- php5中date()得出的时间为什么不是当前时间的解决方法
- JavaScript 时分秒时间代码(自动补零)
- js 字符串转化成数字的代码
- mysql 日期和时间函数