怎样能确保C#中的TEXTBOX中只能输入数字而不能输入字母和其他字符

我在程序下面输入了一个类似这样的校验语段,但在调试的过程中总是中途就卡死了,没有弹出相应的MESSAGEBOX的提示信息啊intresult;if(int.TryPars... 我在程序下面输入了一个类似这样的校验语段,但在调试的过程中总是中途就卡死了,没有弹出相应的MESSAGEBOX的提示信息啊

int result;
if (int.TryParse(H.Text, out result) == false)
{ MessageBox.Show("请输入数字"); }
if (int.TryParse(I.Text, out result) == false)
{ MessageBox.Show("请输入数字"); }
if (int.TryParse(J.Text, out result) == false)
{ MessageBox.Show("请输入数字"); }
if (int.TryParse(K.Text, out result) == false)
{ MessageBox.Show("请输入数字"); }
if (int.TryParse(T.Text, out result) == false)
{ MessageBox.Show("请输入数字"); }
展开
 我来答
Jjin001
推荐于2018-04-05 · TA获得超过568个赞
知道小有建树答主
回答量:510
采纳率:0%
帮助的人:337万
展开全部
/// <summary>
        /// 文字改变事件处理
        /// </summary>
        /// <param name="sender">object</param>
        /// <param name="e">EventArgs</param>
        private void textBox1_TextChanged(object sender, System.EventArgs e)
        {
            if (this.IsMatchNumber(this.textBox1.Text)
                || string.IsNullOrEmpty(this.textBox1.Text.Trim()))
            {
                this.textBox1.Tag = this.textBox1.Text;
            }
            else
            {
                this.textBox1.Text = this.textBox1.Tag as string;
                this.textBox1.SelectionStart = this.textBox1.Text.Length;
            }
        }
 
        /// <summary>
        /// 匹配数字
        /// </summary>
        /// <param name="inputStr">输入匹配字符串</param>
        /// <returns>是否匹配</returns>
        private bool IsMatchNumber(string inputStr)
        {
            //// 匹配整数和小数 7位整数 两位小数
            if (Regex.IsMatch(inputStr, @"^\d{1,7}(?:\.\d{0,2}$|$)"))
            {
                return true;
            }
 
            return false;
        }
匿名用户
2014-02-25
展开全部
if (!(int.TryParse(H.Text, out result))) { MessageBox.Show("请输入数字"); }
http://msdn.microsoft.com/zh-cn/library/f02979c7(v=vs.110).aspx
更多追问追答
追问
string mi = this.H.Text;
float a = float.Parse(mi);

没有用,当我输入您给的编码之后到这一步就卡住了
追答
微软示例不会错的,不知道你小脑袋想什么,从写的语句来看就不对了,float 关键字表示存储 32 位浮点值的简单类型。它就不是int.看http://social.msdn.microsoft.com/Forums/vstudio/zh-CN/701df7da-17d8-41b5-b2d2-94b2be9c0191/floattryparse?forum=netfxbcl
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-02-28
展开全部
正则搞定
更多追问追答
追问
哥哥,还想麻烦你,我的本意是区分字母和其他字符',可是我现在发现连小数点都输不进去了
追答
回复 逆天吟べ僾 :那你的正则一定没用对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
三天打鱼N
2014-02-25 · TA获得超过1540个赞
知道大有可为答主
回答量:2032
采纳率:74%
帮助的人:595万
展开全部
这代码放哪里了?应该把这代码放文本框 文本改变事件里吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式