C#中设置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); b2 = float.TryParse(tBox.Text + e.KeyChar.ToString(), out f); if (b2 == false) { if (b1 == true) e.Handled = true; else e.Handled = false; } } } }
/// <summary> /// 屏蔽数字textbox的其他字符串 /// </summary> /// <param name="tbox">要屏蔽的textbox</param> public virtual void ShieldNumberTextBoxOtherKeys(TextBox tbox) { tbox.ImeMode = ImeMode.Disable; tbox.KeyDown += tBoxNumbers_KeyDown; tbox.KeyPress += tBoxNumbers_KeyPress; }
#endregion
希望本文所述对大家的C#程序设计有所帮助。