C# 将文本框输入限制为C中的数字和点(.)#

C# 将文本框输入限制为C中的数字和点(.)#,c#,C#,我想限制文本框接受1到4之间的数字,并在C#中包含点(.)。如何做到这一点?您可以将按键事件绑定到文本框,然后使用regex添加验证,如下所述:您可以在软件中使用下面的代码片段。该属性纯粹是从codebehind处理的,您可以将其作为textbox属性附加到XAML部分 PreviewTestInput在按键时检查输入字符,因此不允许使用无效字符。在正则表达式中定义了允许的字符 XAML部分: 代码隐藏部分 ... NumberRestrictFunction(); ... public v

我想限制文本框接受1到4之间的数字,并在C#中包含点(.)。如何做到这一点?

您可以将按键事件绑定到文本框,然后使用regex添加验证,如下所述:

您可以在软件中使用下面的代码片段。该属性纯粹是从codebehind处理的,您可以将其作为textbox属性附加到XAML部分

PreviewTestInput在按键时检查输入字符,因此不允许使用无效字符。在正则表达式中定义了允许的字符

XAML部分:

代码隐藏部分

...
NumberRestrictFunction();
...

public void NumberRestrictFunction()
{
    textBox.PreviewTextInput += new TextCompositionEventHandler(MyNumbers_PreviewTextInput);
}

public static void MyNumbers_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    e.Handled = CheckIfMyCharacters(e.Text);
}

public static bool CheckIfMyCharacters(String text)
{
    Regex regex = new Regex(@"[1-4.]+");  
    return !regex.IsMatch(text);
}