您的位置:首页 > 其它

textbox中只允许输入数字和小数点

2009-12-30 14:52 260 查看
把Textbox的KeyPress事件设置为如下方法,就可以实现限制输入

/// <summary>
/// 只能输入数字(含负号小数点)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void OnlyEnterNumber(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13 && e.KeyChar != 45 && e.KeyChar != 46)
{
e.Handled = true;
}

//输入为负号时,只能输入一次且只能输入一次
if (e.KeyChar == 45 && (((TextBox)sender).SelectionStart != 0 || ((TextBox)sender).Text.IndexOf("-") >= 0)) e.Handled = true;
if (e.KeyChar == 46 && ((TextBox)sender).Text.IndexOf(".") >= 0) e.Handled = true;
}

/// <summary>
/// 只能输入正实数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void OnlyEnterPlusNumber(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13 && e.KeyChar != 46)
{
e.Handled = true;
}
if (e.KeyChar == 46 && ((TextBox)sender).Text.IndexOf(".") >= 0) e.Handled = true;
}

/// <summary>
/// 只能输入整数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void OnlyEnterInt(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13 && e.KeyChar != 45)
{
e.Handled = true;
}

//输入为负号时,只能输入一次且只能输入一次
if (e.KeyChar == 45 && (((TextBox)sender).SelectionStart != 0 || ((TextBox)sender).Text.IndexOf("-") >= 0)) e.Handled = true;
}

/// <summary>
/// 只能输入正整数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void OnlyEnterPlusInt(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13)
{
e.Handled = true;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: