C#中设置textbox限制条件的方法
C#中设置textbox限制条件的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:本文实例讲述了C#中设置textbox限制条件的方法,分享给大家供大家参考。具体实现方法如下:复制代码代码如下:#region设置数量等te...

本文实例讲述了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#程序设计有所帮助。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类