📅  最后修改于: 2023-12-03 15:36:12.535000             🧑  作者: Mango
这是一个使用 C# 编程语言实现的仅允许输入数字的文本框控件,其它字符的输入都将被忽略。
在针对文本输入进行处理的 KeyPress 事件中,判断输入字符是否为数字(包含负号和小数点),如果不是,将其忽略。
// 创建一个继承自 TextBox 的新控件
public class NumericTextBox : TextBox
{
// 重写 KeyPress 事件
protected override void OnKeyPress(KeyPressEventArgs e)
{
base.OnKeyPress(e); // 调用基类函数处理其它键盘事件
// 如果键入字符不是数字、负号或小数点,将其忽略
if (!char.IsDigit(e.KeyChar) && e.KeyChar != '-' && e.KeyChar != '.' && e.KeyChar != (char)Keys.Back)
{
e.Handled = true;
}
// 如果文本中已经存在一个小数点,再次输入小数点时将其忽略
if (e.KeyChar == '.' && this.Text.Contains("."))
{
e.Handled = true;
}
// 如果文本中已经存在一个负号,再次输入负号时将其忽略
if (e.KeyChar == '-' && this.Text.Contains("-"))
{
e.Handled = true;
}
}
}
这就是一个简单的仅允许数字输入的文本框控件实现。你可以将其作为自己项目的一部分,并对其进行修改和扩展,以满足更加丰富的需求。