C# WinForm 控件限制输入:仅允许数字和小数点,并验证浮点数格式
在 C# WinForm 中,可以使用 KeyPress 事件来限制文本框的输入内容。以下代码实现仅允许输入数字和小数点,并且确保输入的字符串能够被转换成浮点数:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
// 判断输入的字符是否为数字或小数点或退格键
if (!char.IsDigit(e.KeyChar) && e.KeyChar != '.' && e.KeyChar != (char)Keys.Back)
{
e.Handled = true; // 不允许输入
return;
}
// 判断输入的字符是否为小数点
if (e.KeyChar == '.')
{
// 如果已经输入过小数点或者还没有输入数字,则不允许输入小数点
if (textBox1.Text.Contains('.') || textBox1.Text == "")
{
e.Handled = true; // 不允许输入
return;
}
}
// 判断输入的字符是否能转换成浮点类型
float num;
if (e.KeyChar != (char)Keys.Back && !float.TryParse(textBox1.Text + e.KeyChar, out num))
{
e.Handled = true; // 不允许输入
}
}
在 KeyPress 事件中,首先判断输入的字符是否为数字或小数点或退格键,如果不是则不允许输入。然后判断输入的字符是否为小数点,如果已经输入过小数点或者还没有输入数字,则不允许输入小数点。最后判断输入的字符是否能转换成浮点类型,如果不能则不允许输入。
原文地址: https://www.cveoy.top/t/topic/jFGE 著作权归作者所有。请勿转载和采集!