| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5847 人关注过本帖
标题:大神帮忙:怎么让textbox中只能输入10位数字,问题在内容里面详述。
只看楼主 加入收藏
皖教育厅长
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2012-11-12
结帖率:50%
收藏
已结贴  问题点数:5 回复次数:9 
大神帮忙:怎么让textbox中只能输入10位数字,问题在内容里面详述。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar >= '0' && e.KeyChar <= '9')||e.KeyChar == '\b')
            {
               
                e.Handled = false ;
               
            }
            else
            {
                e.Handled = true  ;
            }
        }

上面这种方法我试了不是数字键在按键后textbox里面没有反应。我想要的效果是字母键也可以输入并显示出来,但是到最后检测textbox.text的内容,提示必须是输入数字。而且是10位数字。各位大神 帮下

[ 本帖最后由 皖教育厅长 于 2013-4-26 17:01 编辑 ]
搜索更多相关主题的帖子: 数字 private 
2013-04-26 16:59
皖教育厅长
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2012-11-12
收藏
得分:0 
另外还有一个问题撒,我做登陆界面的时候,为什么每个messagebox.show里面的内容都会弹出2次呢?下面是其中之一
MessageBox.Show("退出登录", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
            DialogResult dr = MessageBox.Show("退出登录", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
            if (dr == DialogResult.OK)
                Application.Exit();
            else
            {
                textBox1.Focus();
            }

[ 本帖最后由 皖教育厅长 于 2013-4-26 17:02 编辑 ]
2013-04-26 16:59
lxb932979339
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:84
专家分:313
注 册:2013-4-24
收藏
得分:2 
MessageBox.Show("退出登录", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
             DialogResult dr = MessageBox.Show("退出登录", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
             if (dr == DialogResult.OK)
                 Application.Exit();
             else
             {
                 textBox1.Focus();
             }
第一个messagebox。show();去掉
2013-04-26 17:05
皖教育厅长
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2012-11-12
收藏
得分:0 
回复 3楼 lxb932979339
谢谢,那第一个呢?
2013-04-26 17:22
lxb932979339
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:84
专家分:313
注 册:2013-4-24
收藏
得分:0 
我不知道 你要的是不是这么效果。。。

 private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (textBox1.Text.Trim().Length > 10)
            {

                if (!IsNum(textBox1.Text.Trim()))
                {
                    MessageBox.Show("输入的不是数字!!");
                    return;
                }
                MessageBox.Show("长度过长!");
                return;
            }
           
        }
        public bool IsNum(string str)//判断输入的字符是不是数字
        {
            return System.Text.RegularExpressions.Regex.IsMatch(str, @"^[0-9]*$");
        }
2013-04-26 17:31
皖教育厅长
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2012-11-12
收藏
得分:0 
回复 5楼 lxb932979339
就是必须是10位数字,貌似length不对吧。我在百度搜的是说用keypress事件。
2013-04-26 17:35
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
收藏
得分:2 
TextChanged边输入边验证不对啊,用文本框的验证事件就可以了,不过得焦点离开文本框时才触发验证事件
数字及位数,用一个正则表达式就搞定了
2013-04-26 18:52
lxb932979339
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:84
专家分:313
注 册:2013-4-24
收藏
得分:0 
对 对。。。。。
2013-04-26 20:49
moridiansha
Rank: 6Rank: 6
来 自:承德
等 级:侠之大者
威 望:4
帖 子:254
专家分:417
注 册:2009-10-21
收藏
得分:2 
或者用正则表达式来匹配

www.qysy.tk
2013-04-28 11:08
悬崖上的愿望
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-5-6
收藏
得分:0 
正则表达式可以搞定
2013-05-06 19:12
快速回复:大神帮忙:怎么让textbox中只能输入10位数字,问题在内容里面详述。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023120 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved