C#-TextBox限制文本\Text输入-只能输入数字\大小写字母\计算

本文介绍了如何使用C#的KeyPress事件来限制TextBox输入,只允许用户输入数字、大小写字母以及特定符号如退格符。通过示例代码展示了如何判断字符类型并进行处理,确保输入符合指定格式。同时,提供了处理小数点、负号和首位为0的情况,以确保数值输入的正确性。
摘要由CSDN通过智能技术生成

限制TextBox输入(KeyPress事件)

为TextBox添加输入限制
-只允许输入数字
-只允许输入大小写英文字母等等
(KeyPress事件)
注意handled的true和false不要理解反了

常用的:
<1>判断是否为字母 char.IsLetter;
<2>判断是否为小写 char.IsLower;
<3>判断是否为大写 char.IsUpper;
<4> 将小写转化为大写 char.ToLower;
<5>将大写转化为小写 char.ToUpper;
<6>判断是否为数字char.IsDigit;

也可以用Ascll码

举例说明:
---只允许输入数字和退格符
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {//Ascll码只演示一次
            if ((e.KeyChar >= '0' && e.KeyChar <= '9')||e.KeyChar==8)
                e.Handled = false;
            else
                e.Handled = true;
        }

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsDigit(e.KeyChar)||e.KeyChar==8)
                e.Handled = false;
            else
                e.Handled = true;
        }


---只允许输入大小写英语字母、数字、退格符
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsLetterOrDigit(e.KeyChar)||e.KeyChar==8)
                e.Handled = false;
            else
                e.Handled = true;
        }

---只允许输入数字、小数点、符号、退格符
  void textChecker(object sender, KeyPressEventArgs e)
        {   //判断输入是否符合规范
            if ((!char.IsDigit(e.KeyChar)) && e.KeyChar != 8 && e.KeyChar != (char)('.') && e.KeyChar != (char)('-'))
            {//允许输入数字、退格符、小数点、删除键和负号  
                MessageBox.Show("请输入正确的数字");
                e.Handled = true;
            }
            if (e.KeyChar == (char)('-'))
            {
                if (txt1.Text != "")
                {//这里的txt1需要改成应用处的TextBox的名称,或者可以给这个函数多传递一个参数,再在此处添加一个switch来判断
                    MessageBox.Show("负号位置错误");
                    e.Handled = true;
                }
            }            
            if (e.KeyChar == (char)('.') && ((TextBox)sender).Text == "")
            {
                MessageBox.Show("第一位不能为小数点");
                e.Handled = true;
            }
            if (e.KeyChar == (char)('.') && ((TextBox)sender).Text.IndexOf('.') != -1)
            {
                MessageBox.Show("小数点只能输入一次");
                e.Handled = true;
            }          
            if (e.KeyChar != (char)('.') &&((TextBox)sender).Text=="0"&&(e.KeyChar!=8))
            {//这里要注意退格符是可以输入的
                MessageBox.Show("第一位是0,第二位必须为小数点");
                e.Handled = true;
            }           
            if (((TextBox)sender).Text == "-" && e.KeyChar == (char)('.'))
            {
                MessageBox.Show("第一位是负号,第二位不能为小数点 ");
                e.Handled = true;
            }
        }
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值