自定义控件textbox只输入数字
来源:互联网 发布:支付宝知托付官网登录 编辑:程序博客网 时间:2024/05/17 01:20
以前从来没有写日志的习惯,可是突然发现有些东西是要记录的。
当我有要记录读这本书的时候,很不幸我已经到120页了。要是把以前读过的记下来有多好,这样可以想起很多有用的技术。不过现在开始。也不晚。
protected override bool ProcessKeyEventArgs(ref Message m)
{
int keyValue = m.WParam.ToInt32();
// (keyValue > 47 && keyValue <58) ?Numbers 0 ?9
// keyValue == 46 - Decimal point
// (keyValue > 34 && keyValue <41) ?Home, End, and Arrow Keys
// keyValue == 8 ?Backspace Key
if ((keyValue > 47 && keyValue <58) || keyValue == 46 || (keyValue > 34 && keyValue <41) || keyValue == 8)
{
return base.ProcessKeyPreview(ref m);
}
else
{
// Delete Key
if (m.Msg == 256 && keyValue == 46)
{
return base.ProcessKeyPreview(ref m);
}
// Windows message id used to limit 1 beep per keystroke
if (m.Msg == 258)
{
MessageBeep(0);
}
return true;
}
}
当我有要记录读这本书的时候,很不幸我已经到120页了。要是把以前读过的记下来有多好,这样可以想起很多有用的技术。不过现在开始。也不晚。
protected override bool ProcessKeyEventArgs(ref Message m)
{
int keyValue = m.WParam.ToInt32();
// (keyValue > 47 && keyValue <58) ?Numbers 0 ?9
// keyValue == 46 - Decimal point
// (keyValue > 34 && keyValue <41) ?Home, End, and Arrow Keys
// keyValue == 8 ?Backspace Key
if ((keyValue > 47 && keyValue <58) || keyValue == 46 || (keyValue > 34 && keyValue <41) || keyValue == 8)
{
return base.ProcessKeyPreview(ref m);
}
else
{
// Delete Key
if (m.Msg == 256 && keyValue == 46)
{
return base.ProcessKeyPreview(ref m);
}
// Windows message id used to limit 1 beep per keystroke
if (m.Msg == 258)
{
MessageBeep(0);
}
return true;
}
}
这里要说明几点:
(1):为了能够在用户输入错误的类型时发出“嘟”声。用到了windows API ,引用user32.dll库并声明外部方法。messageBeep,该访求中的unit 参数是无符号的整数,它来决定系统播放的波形文件。十六进制表示。
H0:系统默认的声音
H40:system asterisk
还有其它的参数,不记了以后找到手册查
[DllImport("user32.dll")]
private static extern bool MessageBeep(uint uType);
2:在顶部那个方法是重写了TextBox中的PreProcessMessage 方法,当然textbox是从Control继承来的。
3:KeyValue代表从键盘输入的值,
- 自定义控件textbox只输入数字
- textbox控件只输入数字
- TextBox控件只允许输入数字
- TextBox只输入数字
- TextBox只输入数字
- TextBox只输入数字
- 只能输入数字的TextBox自定义控件
- 控制TextBox控件只输入数字的解决办法
- ASP.Net TextBox控件只允许输入数字
- ASP.Net TextBox控件只允许输入数字
- ASP.Net TextBox控件只允许输入数字(转)
- ASP.Net TextBox控件只允许输入数字(转)
- ASP.Net TextBox控件只允许输入数字(转)
- ASP.Net TextBox控件只允许输入数字
- ASP.Net TextBox控件只允许输入数字
- ASP.Net TextBox控件只允许输入数字
- 如何让Asp.net TextBox控件只允许输入数字
- TextBox只允许输入数字
- 利用正则表达式去掉html代码
- 冲杀职场的10只魔戒
- 二叉树遍历规则
- 电话机相关
- 25条哈佛成功金言
- 自定义控件textbox只输入数字
- 网页中将Flash设为透明
- Cookie和会话状态的工作原理及Cookie欺骗
- Mysql通用知识介绍
- 禁止光驱自动播放
- 盖茨获博士后的演讲全文
- C#中获取程序当前路径的方法
- VB选择文件夹代码
- 熟能生巧