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

限制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;
            }
        }

你可能感兴趣的:(c#,开发语言)