在C# Winform中,可以通过以下代码实现只能输入数字和小数点,且数字必须是能转换成浮点类型的限制:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    // 判断输入的字符是否为数字或小数点或退格键
    if (!char.IsDigit(e.KeyChar) && e.KeyChar != '.' && e.KeyChar != (char)Keys.Back)
    {
        e.Handled = true; // 忽略非法输入
    }

    // 判断小数点是否已经存在,且当前输入的字符是否为小数点
    if (e.KeyChar == '.' && textBox1.Text.IndexOf('.') >= 0)
    {
        e.Handled = true; // 忽略非法输入
    }

    // 判断输入的字符是否能转换成浮点类型
    float num;
    if (float.TryParse(textBox1.Text + e.KeyChar, out num) == false)
    {
        e.Handled = true; // 忽略非法输入
    }
}

以上代码中,textBox1_KeyPress是一个事件处理函数,用于处理在文本框中的按键事件。在该函数中,我们首先判断当前输入的字符是否为数字或小数点或退格键,如果不是,则将其忽略;然后判断小数点是否已经存在,如果已经存在且当前输入的字符为小数点,则将其忽略;最后,我们尝试将当前输入的字符和文本框中已有的字符转换成浮点类型,如果转换失败,则将其忽略。

C# winform 控件只能输入数字和小数点数字还必须是能转换成浮点类型注释。提示没有KeyChar的定义

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

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