将文本框输入限制为C#中的数字和句点(.)
本文关键字:数字 句点 文本 输入 | 更新日期: 2023-09-27 18:26:07
我想限制文本框接受从1到4的数字,并在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);
}