最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
asp.net TextBox 只能输入数字和小数点
时间:2011-03-23 编辑:简简单单 来源:一聚教程网
在定制的textbox控件中,如果只允许输入数字,需要考虑如下三种情况:
正常按键输入的字符,包括西文、中文字符等
通过键盘快捷键方式贴入的文本,即ctrl+v操作
通过上下文关联菜单的mouse操作贴入的文本,即”粘贴“操作
在探讨的同类文章中,多数只考虑了第1种情况,忽略得了第2、3种常见的操作
只允许数据小数
private sub text1_keypress(keyascii as integer)
if keyascii < 48 or keyascii > 57 then
if keyascii = 46 then
if text1.text = "" or instr(1, text1.text, ".") <> 0 then
keyascii = 0
else
keyascii = 46
end if
else
keyascii = 0
end if
end if
end sub
这个加在按钮上
private void button1_click(object sender, eventargs e)
{
//在此加入实现相加的代码
//自己加判断语句,限定输入的值是数字,这里就不写了
int sum = 0;
int number1 = int.parse(textbox1.text);
int number2 = int.parse(textbox2.text);
sum = number1+number2;
textbox3.text = sum.tostring();
}
限制textbox只能输入数字和小数点
///
/// 限制textbox只能输入数字和小数点
/// 一般在textbox的keypress中调用
///
///
///
public static void textbox_keypress(object sender, keypresseventargs e)
{
if (!(((e.keychar >= '0') && (e.keychar <= '9')) || e.keychar <= 31))
{
if (e.keychar == '.')
{
if (((textbox)sender).text.trim().indexof('.') > -1)
e.handled = true;
}
else
e.handled = true;
}
else
{
if (e.keychar <= 31)
{
e.handled = false;
}
}
}
textbox控件输入的事前处理模式,即在输入字符的同时屏蔽非数字键。在实际应用中一般采取事后处理模式,即在textbox控件的exit、validate等事件中进行输入后处理——离开该控时进行验证。但事后处理模式有如下不足:
与数据源绑定时输入非数字字符可能抛出异常,需要考虑异常捕获
需要判断数据并给出错误提示等处理
相关文章
- asp.net string与string.formt数字 12-30
- C#复制数组的两种方式及效率比较解读 10-24
- ASP.NET Identity用法解析 10-24
- ASP.NET MVC使用Identity增删改查用户介绍 10-24
- C语言中atoi函数模拟实现介绍 10-18
- .Net反向代理组件Yarp用法介绍 10-10