C# 文本框只能输入数字

2024-12-03 02:57:06
推荐回答(5个)
回答(1):

 代码如下:

调用TextBox的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;

}

}

扩展资料:

注意事项

C#文本框输入限制

//只能输入数字和小数点和退格键

    private void txt_KeyPress(object sender, KeyPressEventArgs e)

    {

        if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 && (int)e.KeyChar != 46)

        {

            e.Handled = true;

        }

    }

    //只能输入数字和退格键

    private void txt_KeyPress(object sender, KeyPressEventArgs e)

    {

        if (!(Char.IsNumber(e.KeyChar)) && e.KeyChar != (char)8)

        {

            e.Handled = true;

        }

    }

    //限制输入只能为数字

    private void txt_KeyPress(object sender, KeyPressEventArgs e)

    {

        if (!(Char.IsNumber(e.KeyChar)) && e.KeyChar != (Char)8)

        {

            e.Handled = true;

        }

    }

    //限制输入不能为中文和全角

    private void txt_KeyPress(object sender, KeyPressEventArgs e)

    {

        int chfrom = Convert.ToInt32("4e00", 16);    //范围(0x4e00~0x9fa5)转换成int(chfrom~chend)

        int chend = Convert.ToInt32("9fa5", 16);

        if (e.KeyChar >= (Char)chfrom && e.KeyChar <= (Char)chend)

        {

            e.Handled = true;

        }

        if (e.KeyChar >= (Char)65281 & (int)e.KeyChar <= (Char)65374)

        {

            e.Handled = true;

        }

    }

    //限制输入只能输入数字和字母,退格键

    private void txt_KeyPress(object sender, KeyPressEventArgs e)

    {

        if ((e.KeyChar >= 'a' && e.KeyChar <= 'z') || (e.KeyChar >= 'A' && e.KeyChar <= 'Z')

            || (e.KeyChar >= '0' && e.KeyChar <= '9') || (e.KeyChar == 8))

        {

            e.Handled = false;

        }

        else

        {

            e.Handled = true;

        }

    }

回答(2):

代码如下:

private void txtNumber_KeyPress(object sender, KeyPressEventArgs e){ if (e.KeyChar == 0x20) e.KeyChar = (char)0;  //禁止空格键

if (e.KeyChar == (char)46) e.KeyChar = (char)0;

if ((e.KeyChar == 0x2D) && (((TextBox)sender).Text.Length == 0)) return;   //处理负数

if (e.KeyChar > 0x20){try{double.Parse(((TextBox)sender).Text + e.KeyChar.ToString());}

catch{e.KeyChar = (char)0;}}}

扩展资料

登录功能代码

public partial class LoginForm : Form
{public LoginForm()
{InitializeComponent();}
//判断是否登录成功

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e){
//获取用户名

string username = textBox1.Text;
//获取密码

string password = textBox2.Text;
//判断用户名密码是否正确

if ("xiaoming".Equals(username) && "123456".Equals(password)){MessageBox.Show("登录成功!");}

else{MessageBox.Show("登录失败!");}}}

历史发展

C#是微软公司在2000年6月发布的一种新的编程语言,主要由安德斯·海尔斯伯格(Anders Hejlsberg)主持开发,它是第一个面向组件的编程语言,其源码会编译成msil再运行。

它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,并且新增了许多功能及语法,而且它是微软公司.NET windows网络框架的主角。

参考资料来源:百度百科-C#

回答(3):

1、首先,默认已经创建好了一个工程。

2、然后在窗口中添加一个标签控件和文本框控件,并修改标签的文字为成绩,文本框的name为EdtSorce,text为空。

3、然后选择文本框,并在属性面板中切换到“事件”选项卡,找到onKeyPress事件,点击进入代码编辑窗口。

4、然后在打开的代码窗口中写入以下代码。

5、运行后,效果如下,大家可以发现只有按下数字键,才会有字符在文本框中显示出来,其它按钮都没有反应。

6、如果大家还想允许小数字出现,并且退格键可用,那么还可以如下图所示进行代码修改。

回答(4):

调用TextBox的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;
}
}

最好弄个自定义控件,继承TextBox,重写OnKeyPress事件

回答(5):

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不是很全面.好像英文状态下可以输入 .

不过够用了,你也可以再查下资料稍微修改一下