C# winform 界面有许多TextBox控件,有些只能输入数字,有些只能输入汉字。 方法1:将需要验证数字的控件 单独写一个if语句 方法2:通过try catch (FormatException ee) 可以捕获到这样的错,在异常中得到是那个控件发来的错误码(可行吗?) 能不能通过try catch 来捕获 如果有其它解决方法也可以推荐一下 |
|
5分 |
1、将判断共同部分抽离成几个方法,然后只要if(判断A&&判断B&&判断C)类似这样就可以了
2、验证数据正确性通过catch exception?这个有点难以理解……至于你说如何获取是哪个抛出的,我们都不知道你这个异常是怎么出来的…… |
15分 |
1、只能输入数字文本框,使用正则表达式
2、文本框的Tag标记某个文本框只能输入数字,遍历窗体控件,当控件是TextBox的时候,获取其Tag值,根据值来分辨是否是只能输入数字的文本框 |
FormatException ee 这个异常肯定是数据不合法抛出的错误。 我还是想定位到这个录入的数据是那个控件录入的。
只要知道是那个控件就可以根据这个空间的ID 提示错误码,至于什么错误 ,操作人自己判断,程序只给他一个提示,是这个控件中的内容错了。 |
|
for (int i = 0; i < this.CarInfoMain.Controls.Count; i++)
{ if (this.CarInfoMain.Controls[i].Tag != null && this.CarInfoMain.Controls[i].Tag.ToString() == “@@”) { if (!string.IsNullOrEmpty(this.CarInfoMain.Controls[i].Text.Trim())) { if (Tool.CheckNumber(this.CarInfoMain.Controls[i].Text.Trim())) { Tip.SetBalloonCaption(this.CarInfoMain.Controls[i], “请填写数字类型”); Tip.ShowBalloon(this.CarInfoMain.Controls[i]); return; } } } } 已经解决,我把第一个TxtBox的Tag中添加一个标记,这样就达到效果了 哈哈 |