C# winform 界面有许多TextBox控件,有些只能输入数字,有些只能输入汉字。
程序需要去验证只能输入数字的控件
方法1:将需要验证数字的控件 单独写一个if语句
判断是否是数字,这样可行,但是控件太多 太麻烦了,需要写好多个IF语句
方法2:通过try catch (FormatException ee) 可以捕获到这样的错,在异常中得到是那个控件发来的错误码(可行吗?)
因为控件的ID命名是有规则的,我可以在catch中弹出个框,让用户知道是那个文本框出错了。
这样方便多了。
能不能通过try catch 来捕获
try{ }
catch (FormatException ee)
{
问题是:在这里 怎样获取是那个文本框 触发的异常??
}
catch (Exception ddd)
{}
如果有其它解决方法也可以推荐一下
------解决思路----------------------
1、将判断共同部分抽离成几个方法,然后只要if(判断A&&判断B&&判断C)类似这样就可以了
2、验证数据正确性通过catch exception?这个有点难以理解……至于你说如何获取是哪个抛出的,我们都不知道你这个异常是怎么出来的……
------解决思路----------------------
1、只能输入数字文本框,使用正则表达式
2、文本框的Tag标记某个文本框只能输入数字,遍历窗体控件,当控件是TextBox的时候,获取其Tag值,根据值来分辨是否是只能输入数字的文本框