C#如何让TEXTBOX只能输入英文状态下的数字并且限制位数

还有THIS是什么什么意思... 还有THIS是什么什么意思 展开
 我来答
幻梦浮云
2008-12-02 · TA获得超过325个赞
知道小有建树答主
回答量:161
采纳率:100%
帮助的人:58万
展开全部
限制长度:设置maxlength属性
屏蔽非数字键输入:添加keypress事件
private void textBox1_KeyPress(object sender, KeyPressEventArgs e){
e.Handled = !(Char.IsNumber(e.KeyChar) || e.KeyChar == '\b');
}
替换全角(中文)数字字符为半角(英文)字符:添加textchange事件
private void textBox1_TextChanged(object sender, EventArgs e){
for (int i=0;i< textBox1.Text.Length; ++i)
if (textBox1.Text[i] >= '0' && textBox1.Text[i] <= '9')
textBox1.Text = textBox1.Text.Replace(textBox1.Text[i], (char)(textBox1.Text[i] - '0' + '0'));
}

门道我说不出多少,办法也比较笨,看看是否符合要求
Jarhf
2008-12-02 · TA获得超过1862个赞
知道小有建树答主
回答量:1736
采纳率:25%
帮助的人:1033万
展开全部
正则表达式
[0-9]{0,10}
这能输入0到9 的半角数字 ,位数为0到10位
this 表示引用类的当前实例。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chuanwang0101
2008-12-02 · 超过20用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:61.5万
展开全部
通过判断输入字符的长度和ASC码来判断,在TextChanged事件中检查输入字符的ASC码是否是数字对应的,如果非这十个数字的话就对话框提示或者直接要求重新输入得了。不过VS有全角半角的BUG,要注意。this就是这个窗体的意思,相当于VB中的Me.你也可以理解为你的窗体。不写也行的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式