以下是一个示例代码,可以在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来阻止非法的输入

C#限制文本框只能输入数字和一个小数点以及第一位可以输入-代码中方法为private void intervalBox_PreviewTextInputobject sender TextCompositionEventArgs e

原文地址: https://www.cveoy.top/t/topic/ibyj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录