第1个回答 2011-02-27
3楼的做法比较可行简单,我都是这么做的。
在TextChanged事件中,用try,catch块,捕捉从string到int转换的异常。如果有异常则Cancel掉。
否则再判断转换结果是否大于0.
第2个回答 2011-02-27
1 不论什么字符先强转判断是不是数字用捕获异常抓取。再判断正数就好了。
2 本身他有验证控件的 就是弄上界面不好看。
3 网上查有正则表达式的 用这个全部都能判断。
祝成功。
第3个回答 2011-02-27
方法一:
//记录转换的正数
uint positive;
//判断字符串能否转换成正数
MessageBox.Show(uint.TryParse(str.Trim(), out positive)?"成功":"失败");
方法二:
使用正则表达式
要先导入命名空间 using System.Text.RegularExpressions
//构建正则表达式
Regex rex = new Regex(@"^[1-9]\d*$" );
//得到判断信息
Match match = rex.Match(str.Trim());
//match.Success就是判断的结果
MessageBox.Show(match.Success?"成功":"失败");
第4个回答 2011-02-27
简单的方法实现
拖一个TEXTBOX 然后双击这个控件
之后出来一个TEXTBOX1_CHANGED()
{
在这个函数里用正则表达式约速一下就可以了
可以这样写
if(!match(正则表达式写这里))
{
TEXTBOX1.TEXT="";
MESSBOX.SHOW("只能输入数字");
}
}
这个TEXTBOX1_CHUANGED发生在光标移出文本框时
如想样要用户输入时就限定 那么 把限治写在TEXTBOX1_CHANGING()
{}这个函数里
这个函数发生在用户输入时