C# WinForms 限制 TextBox 输入:仅允许数字和小数点(可转换浮点数)
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;
}
}
代码解释
- KeyPress 事件: 该示例代码通过处理
KeyPress事件来捕获用户输入的字符。 - 验证字符类型: 代码首先判断输入的字符是否为数字或小数点,如果不是则不处理该字符。
- 验证小数点存在: 代码判断小数点是否已经存在于输入框中,如果已经存在则不允许再输入小数点。
- 验证数字可转换性: 最后,代码将当前输入框中的内容与新的字符拼接,并尝试将其转换为浮点数。如果转换失败,则不处理该字符。
总结
通过以上代码,您可以轻松限制 C# WinForms 中的 TextBox 控件的输入,确保用户只能输入数字和小数点,并且输入的数字可以转换为浮点数。
原文地址: https://www.cveoy.top/t/topic/jFGw 著作权归作者所有。请勿转载和采集!