VS、textbox控件的输入限制方式

一、textbox只能输入数字

1.修改From的KeyPreview属性

VS、textbox控件的输入限制方式

2.选择图下的小闪电,添加事件

VS、textbox控件的输入限制方式

3.在事件中写如下代码

//用户名只能输入数字
if (!char.IsDigit(e.KeyChar))
{
    if (e.KeyChar != (char)Keys.Back) //back可用
    {
        e.Handled = true;
    }            
}

这里还要设置输入数字的位数,这里我用了标识符,代码如下

//限制只能输入6位数
int a = 0;
for (int i = 0; i < txtUserID .Text .Length; i++)
{
     if (((int)txtUserID.Text[i]) > 255) 
     {
         a += 2;
     }
     else
     {
         a++;
     }
     if (a >= 6)
     {
         if (e.KeyChar != (char)Keys.Back) //back可用
         {
             e.Handled = true;
         }
     }
}

二、textbox只能输入汉字或字母,并且限制输入位数

1.和前面步骤一样添加事件

2.代码如下

private void txtName_KeyPress(object sender, KeyPressEventArgs e)
{
    //姓名只能输入汉字或字母
    if (!char.IsLetter(e.KeyChar) && e.KeyChar != 8 && e.KeyChar != 13 && e.KeyChar != 32)
    {
        e.Handled = true;
    }
    //姓名只能输入四位汉字或八位字母
    int a = 0;
    for (int i = 0; i < txtName.Text.Length; i++)
    {
         if (((int)txtName.Text[i]) > 255) 
         {
             a += 2;
         }
         else
	     {
             a++;
         }
         if (a >= 8)
         {
             if (e.KeyChar != (char)Keys.Back) //back可用
             {
                 e.Handled = true;
             }                  
         }
    }
}

 

 

上一篇:用c#写的word试题排版插件 第二部分 版面设置


下一篇:WPF中 键盘输入事件OnPreviewKeyDown中没有e.KeyChar()的解决方法