问题描述
不是整数就能自动报错,这个方法该怎么弄啊。。。。新手求解。
解决方案
解决方案二:
刻意使用int.TryPase函数。
解决方案三:
虽然比较难用,可以使用tryParse
解决方案四:
1、从源头上杜绝这种错误,做正则限制,让非数字输入不进去2、Int.TryParse,返回false就是报错咯
解决方案五:
intresult=0;int.TryParse(num,refresult);
解决方案六:
privatevoidtextBox1_Leave(objectsender,EventArgse){if(!Regex.IsMatch(textBox1.Text.ToString(),@"^-?[1-9]d*$|^0$")){MessageBox.Show("请输入数字");textBox1.SelectAll();return;}}
只能输入负整数,0,正整数,否则要提示输入数字
解决方案七:
要是web的,有个验证控件,拖进去一个,直接设置属性就行,更方便
解决方案八:
可以为输入的文本框添加一个KeyPress事件,只允许用户输入数字和退格,那肯定是整数了哇privatevoidTextBox1_KeyPress(objectsender,KeyPressEventArgse){if(e.KeyChar!='b'&&!Char.IsDigit(e.KeyChar)){e.Handled=true;}else{MessageBox.Show("请输入整数","类型错误",MessageBoxButtons.OK,MessageBoxIcon.Error);}}
解决方案九:
进来看看学习了
解决方案十:
听楼主的意思是想要用户输入完后,若不是数字则提示用户错误。1.限制用户只能输入数字或者2.不限制内容,放一个label在此textbox后面,先隐藏这个label,当textbox失去焦点时,判断int.TryParse(num,refresult);是否为数字,若不是,则修改label的text为“只能输入数字”,并且显示出来。或者3.网上查询ajax实时验证用户名。
解决方案十一:
1、输入时正则控制。2、int.TryParse()publicstaticboolIsNumber(objectsNum){longnum;//临时变量if(sNum==null){returnfalse;//如果传入的值为NULL,返回False}if(long.TryParse(sNum.ToString(),outnum))//尝试转换传入的值returntrue;//成功返回Trueelsereturnfalse;//失败返回False}
解决方案十二:
引用7楼defrt4的回复:
可以为输入的文本框添加一个KeyPress事件,只允许用户输入数字和退格,那肯定是整数了哇privatevoidTextBox1_KeyPress(objectsender,KeyPressEventArgse){if(e.KeyChar!='b'&&!Char.IsDigit(e.KeyChar)){e.Handled=true;}else{MessageBox.Show("请输入整数","类型错误",MessageBoxButtons.OK,MessageBoxIcon.Error);}}
我也是这样判断的