C# textbox限制输入 ——整理
整理记录,用到TextBox的KeyPress函数
this.TextBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBoxKeyPressOnlyNumber);
/// <summary>
/// Only number input for textbox 公用方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TextBoxKeyPressOnlyNumber(object sender, KeyPressEventArgs e)
{
if (e.KeyChar != '\b')//这是允许输入退格键
{
if ((e.KeyChar < '0') || (e.KeyChar > '9'))//这是允许输入0-9数字
{
e.Handled = true;
}
if (e.KeyChar == 0x20)
e.KeyChar = (char)0; //禁止空格键
}
}
/// <summary>
/// Only Alphabet input for textbox,只允许输入英文字母
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TextBoxKeyPressOnlyAlphabet(object sender, KeyPressEventArgs e)
{
/* ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
* ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
* ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
* ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
* ^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
* Regex.IsMatch() */
if (e.KeyChar != '\b')//这是允许输入退格键
{
if (!char.IsLetter(e.KeyChar))//Imemode = disable(屏蔽输入法),只允许输入英文字母
{
e.Handled = true;
}
if (e.KeyChar == 0x20)
e.KeyChar = (char)0; //禁止空格键
}
}