怎么让C#里面的文本框只能输入数字?

一个注册程序,键入密码的时候让它只能输入密码、怎么弄呀。高手们棒棒忙... 一个注册程序,键入密码的时候让它只能输入密码、怎么弄呀。高手们棒棒忙 展开
 我来答
yenange
2009-10-29 · TA获得超过4537个赞
知道大有可为答主
回答量:2419
采纳率:0%
帮助的人:1628万
展开全部
很简单, 楼上太复杂了!!!

假设你的文本框的Name属性是 txtUserId, 你修改它的KeyPress事件如下:

private void txtUserId_KeyPress(object sender, KeyPressEventArgs e)
{
//如果输入的不是数字键,也不是回车键、Backspace键,则取消该输入
if (!(Char.IsNumber(e.KeyChar)) && e.KeyChar!=(char)13 && e.KeyChar!=(char)8)
{
e.Handled = true;
}
}
wuhao33020416
2009-10-29 · TA获得超过162个赞
知道答主
回答量:200
采纳率:0%
帮助的人:124万
展开全部
private void textBox1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
string str = textBox1.Text;
try
{
//看是否是数字型
int i = Convert.ToInt32(str);
//如果成功了就不会跳到catch

if(e.KeyCode == Keys.Enter)
{
if(i<20)
{
MessageBox.Show("输入的数字太大,请重新输入");
this.textBox1.Clear();
this.textBox1.Focus();
return;
}
}

if(i>50)
{
MessageBox.Show("输入的数字太大,请重新输入");
this.textBox1.Clear();
this.textBox1.Focus();
return;
}
}
catch(Exception ex)
{
//输入了非数字
MessageBox.Show("请输入数字!");
this.textBox1.Clear();
this.textBox1.Focus();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liujw1220
推荐于2016-11-24 · TA获得超过282个赞
知道小有建树答主
回答量:299
采纳率:0%
帮助的人:102万
展开全部
function onlyNum(){
var k=window.event.keyCode;
if ((k==46)||(k==8)||(k==189)||(k==109)||(k==190)||(k==110)|| (k>=48 && k<=57)||(k>=96 && k<=105)||(k>=37 && k<=40))
{}
else if(k==13){
window.event.keyCode = 9;
}
else{
window.event.returnValue = false;
}
}

文本框 onkeydown="onlyNum();"

这个JS不是很全面.好像英文状态下可以输入 .

不过够用了,你也可以再查下资料稍微修改一下
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郁茵孝静雅
2019-02-15 · TA获得超过3661个赞
知道大有可为答主
回答量:3130
采纳率:34%
帮助的人:184万
展开全部
function
onlyNum(){
var
k=window.event.keyCode;
if
((k==46)||(k==8)||(k==189)||(k==109)||(k==190)||(k==110)||
(k>=48
&&
k<=57)||(k>=96
&&
k<=105)||(k>=37
&&
k<=40))
{}
else
if(k==13){
window.event.keyCode
=
9;
}
else{
window.event.returnValue
=
false;
}
}
文本框
onkeydown="onlyNum();"
这个JS不是很全面.好像英文状态下可以输入
.
不过够用了,你也可以再查下资料稍微修改一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奕展莘代天
2019-11-22 · TA获得超过3871个赞
知道小有建树答主
回答量:3116
采纳率:28%
帮助的人:428万
展开全部
function
onlyNum(){
var
k=window.event.keyCode;
if
((k==46)||(k==8)||(k==189)||(k==109)||(k==190)||(k==110)||
(k>=48
&&
k<=57)||(k>=96
&&
k<=105)||(k>=37
&&
k<=40))
{}
else
if(k==13){
window.event.keyCode
=
9;
}
else{
window.event.returnValue
=
false;
}
}
文本框
onkeydown="onlyNum();"
这个JS不是很全面.好像英文状态下可以输入
.
不过够用了,你也可以再查下资料稍微修改一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式