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

本文关键字:数字 句点 文本 输入 | 更新日期: 2023-09-27 18:26:07

我想限制文本框接受从1到4的数字,并在C#中包含句点(.)。我该怎么做?

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

您可以将KeyPress事件绑定到文本框,然后使用regex添加验证,如下所述:如何阻止或限制文本框中的特殊字符

您可以在软件中使用下面的代码片段。该属性纯粹是从codeehind处理的,您可以将其作为文本框属性附加在XAML节中。

PreviewTextInput正在检查按键时的输入字符,因此不允许使用无效字符。Regex中定义了允许的字符。

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);
}