C#限制文本框只能输入数字和一个小数点以及第一位可以输入-代码中方法为private void intervalBox_PreviewTextInputobject sender TextCompositionEventArgs e
以下是一个示例代码,可以在C#中限制文本框只能输入数字和一个小数点以及第一位可以输入负号:
private void intervalBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
// 获取文本框中已有的文本
string text = intervalBox.Text;
// 获取当前要输入的字符
char inputChar = e.Text[0];
// 判断是否为数字
if (char.IsDigit(inputChar))
{
// 如果已输入小数点,则不能再输入小数点
if (text.Contains("."))
{
e.Handled = true;
}
}
// 判断是否为小数点
else if (inputChar == '.')
{
// 如果已输入过小数点,则不能再输入小数点
if (text.Contains("."))
{
e.Handled = true;
}
}
// 判断是否为负号
else if (inputChar == '-')
{
// 如果已输入过负号,则不能再输入负号
if (text.Contains("-"))
{
e.Handled = true;
}
// 如果第一位不是负号,则可以输入负号
else if (intervalBox.SelectionStart != 0)
{
e.Handled = true;
}
}
// 其他非法字符都不允许输入
else
{
e.Handled = true;
}
}
在上述代码中,我们通过在PreviewTextInput事件中处理输入的字符来限制文本框的输入。首先获取文本框中已有的文本,然后判断当前要输入的字符是数字、小数点还是负号,根据不同情况设置e.Handled来阻止非法的输入
原文地址: https://www.cveoy.top/t/topic/ibyj 著作权归作者所有。请勿转载和采集!