只限输入汉字
//添加命名空间
using System.Text.RegularExpressions;
//限制只能输入汉字
private void txtSName_KeyPress(object sender, KeyPressEventArgs e)
{
Regex rg = new Regex("^[\u4e00-\u9fa5\b]$"); //\b是退格键
if (!rg.IsMatch(e.KeyChar.ToString()))
{
e.Handled = true;
MessageBox.Show("您只能输入汉字!");
}
}
限制密码只能输入字母或者数字
private void txtPassword_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;
MessageBox.Show("密码只能是字母或者数字");
}
}
限制只能输入数字
private void txtUserID_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar != '\b' && !Char.IsDigit(e.KeyChar))
{
e.Handled = true;
MessageBox.Show("请输入数字,并确保在6位以内!");
}
}
限制语句封装方法
一个一个的添加重复的代码太麻烦了,封装在一个类中,直接调用就好了。下面拿只限制输入数字来说,其它的同理,把代码放进封装的方法就行了。
using System.Windows.Forms;
namespace UI
{
public class SetText
{
public static void setText (KeyPressEventArgs e)
{
if (!(char.IsNumber(e.KeyChar)) && e.KeyChar != (char)8)
{
e.Handled = true;//经判断为数字,可以输入
}
else
{
e.Handled = false;
}
}
}
}
调用封装方法代码
//SetText settext = new SetText();
//SetText.setText(e);
SetText.setText(e);//因为在封装的方法中设置了static静态的,可以省一行代码