C#中设置textbox限制条件的方法

2019-12-26 11:27:10于海丽
易采站长站为您分析C#中设置textbox限制条件的方法,可实现设置像数量、价格、金额等的textbox的限制条件,用户只能输入数字或小数,是非常实用的技巧,需要的朋友可以参考下    

本文实例讲述了C#中设置textbox限制条件的方法,。具体实现方法如下:

 

复制代码 #region 设置数量等textbox控件样式及限制条件(具体调用的方法就是重写或直接调用ShieldNumberTextBoxOtherKeys函数)

 

/// <summary>
/// 屏蔽数字textbox的其他字符串
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public virtual void tBoxNumbers_KeyDown(object sender, KeyEventArgs e)
{
    e.SuppressKeyPress = true;

    switch (e.KeyCode)
    {
 case Keys.D0:
 case Keys.D1:
 case Keys.D2:
 case Keys.D3:
 case Keys.D4:
 case Keys.D5:
 case Keys.D6:
 case Keys.D7:
 case Keys.D8:
 case Keys.D9:
 case Keys.NumPad0:
 case Keys.NumPad1:
 case Keys.NumPad2:
 case Keys.NumPad3:
 case Keys.NumPad4:
 case Keys.NumPad5:
 case Keys.NumPad6:
 case Keys.NumPad7:
 case Keys.NumPad8:
 case Keys.NumPad9:
 case Keys.Back:
 case Keys.OemPeriod:
 case Keys.Delete:
 case Keys.Decimal:
     e.SuppressKeyPress = false;
     break;
 default:
     break;
    }
}

public virtual void tBoxNumbers_KeyPress(object sender, KeyPressEventArgs e)
{
    TextBox tBox = sender as TextBox;
    char c = e.KeyChar;

    if (c.ToString().Equals("."))
    {
 if (tBox.Text.Length <= 0)
     e.Handled = true;           //小数点不能在第一位     
 else
 {
     float f;
     float oldf;
     bool b1 = false, b2 = false;
     b1 = float.TryParse(tBox.Text, out oldf);