C# 文本框输入限制:数字、小数点和负号
您可以使用事件处理程序来限制文本框只能输入数字和一个小数点,并且第一位可以输入负号。以下是一个示例:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
// 检查按键是否是数字、小数点或负号
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.') && (e.KeyChar != '-'))
{
e.Handled = true;
}
// 检查小数点是否已经存在
if ((e.KeyChar == '.') && ((sender as TextBox).Text.IndexOf('.') > -1))
{
e.Handled = true;
}
// 检查负号是否已经存在
if ((e.KeyChar == '-') && ((sender as TextBox).Text.IndexOf('-') > -1))
{
e.Handled = true;
}
// 允许输入负号的第一位
if ((e.KeyChar == '-') && ((sender as TextBox).SelectionStart != 0))
{
e.Handled = true;
}
}
在上面的示例中,我们使用了 KeyPress 事件处理程序来检查按键是否符合要求。如果按键不是数字、小数点或负号,则设置 e.Handled 为 true,以阻止其输入。我们还检查小数点和负号是否已经存在于文本框中,如果是,则同样设置 e.Handled 为 true。最后,我们还检查负号是否是第一个字符,如果不是,则同样设置 e.Handled 为 true。
要使用以上代码,您需要将事件处理程序 textBox1_KeyPress 与您的文本框的 KeyPress 事件关联起来。您可以在设计器中双击文本框,然后在事件列表中选择 KeyPress 事件,然后在代码中添加上述代码。
希望这可以帮助到您!
原文地址: https://www.cveoy.top/t/topic/pUfb 著作权归作者所有。请勿转载和采集!