C# WinForms 限制 TextBox 输入:仅允许数字和小数点(可转换浮点数)

本文提供了一个 C# WinForms 代码示例,用于限制 TextBox 控件的输入,仅允许用户输入数字和小数点,并且输入的数字必须可以转换为浮点数。

示例代码

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    // 判断是否为数字或小数点
    if (!char.IsDigit(e.KeyChar) && e.KeyChar != '.' && e.KeyChar != '\b')
    {
        e.Handled = true; // 不处理输入的字符
        return;
    }

    // 判断小数点是否已经存在
    if (e.KeyChar == '.' && textBox1.Text.Contains('.'))
    {
        e.Handled = true; 
        return;
    }

    // 判断数字是否能转换成浮点类型
    float num;
    if (e.KeyChar != '.' && !float.TryParse(textBox1.Text + e.KeyChar, out num))
    {
        e.Handled = true; 
        return;
    }
}

代码解释

  1. KeyPress 事件: 该示例代码通过处理 KeyPress 事件来捕获用户输入的字符。
  2. 验证字符类型: 代码首先判断输入的字符是否为数字或小数点,如果不是则不处理该字符。
  3. 验证小数点存在: 代码判断小数点是否已经存在于输入框中,如果已经存在则不允许再输入小数点。
  4. 验证数字可转换性: 最后,代码将当前输入框中的内容与新的字符拼接,并尝试将其转换为浮点数。如果转换失败,则不处理该字符。

总结

通过以上代码,您可以轻松限制 C# WinForms 中的 TextBox 控件的输入,确保用户只能输入数字和小数点,并且输入的数字可以转换为浮点数。

C# WinForms 限制 TextBox 输入:仅允许数字和小数点(可转换浮点数)

原文地址: https://www.cveoy.top/t/topic/jFGw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录