C#按键输入判断封装类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Keypresscontrolclass
{
/// <summary>
/// 按键类 ,判断输入类型
/// </summary>
public class KeyEvent
{
/// <summary>
/// 只能 数字/字母
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void ForNumLett(object sender, KeyPressEventArgs e)
{
if (!Char.IsNumber(e.KeyChar) && !Char.IsUpper(e.KeyChar) && !Char.IsLower(e.KeyChar) && e.KeyChar != (Char)8)
{
e.Handled = true;//输入的是数字
}
}
/// <summary>
/// 只能 数字、字母、 -
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void ForModel (object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (Char)45)
e.Handled = false;
else if (!Char.IsNumber(e.KeyChar) && !Char.IsUpper(e.KeyChar) && !Char.IsLower(e.KeyChar) && e.KeyChar != (Char)8)
{
e.Handled = true;//输入的是数字
}
}
/// <summary>
/// 只能 数字、 -
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void ForTel(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (Char)45)
e.Handled = false;
else if (!Char.IsNumber(e.KeyChar) && e.KeyChar != (Char)8)
{
e.Handled = true;//输入的是数字
}
}
/// <summary>
/// 输入、字母 可复制
/// </summary>
public static void ForModel(object sender, KeyPressEventArgs e,bool isCrtlV)
{
if (e.KeyChar == (Char)45)
e.Handled = false;
else if (!Char.IsNumber(e.KeyChar) && !Char.IsUpper(e.KeyChar) && !Char.IsLower(e.KeyChar) && e.KeyChar != (Char)8 && !isCrtlV)
{
e.Handled = true;//输入的是数字
}
else
{
isCrtlV = false;
}
}
/// <summary>
/// 只能 数字
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void ForNum(object sender, KeyPressEventArgs e)
{
TextBox tb = sender as TextBox;
if (!((e.KeyChar >= 48 && e.KeyChar <= 57) || e.KeyChar == 8))
{
e.Handled = true;
}
}
/// <summary>
/// 只能 数字
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void ForDecimal(object sender, KeyPressEventArgs e)
{
TextBox tb = sender as TextBox;
if (!(e.KeyChar >= 48 && e.KeyChar <= 57 || e.KeyChar == 8 || e.KeyChar == 46))
{
e.Handled = true;
}
}
private void isCrtlV_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == (Keys.Control | Keys.V))
{
e.Handled = true;
}
}
}
}