C# WPF 如何在文本框中只使用数值
C# WPF How to use only numeric value in a textbox
我使用 WPF 应用程序,我希望在文本框中只允许数字。在 WindowsForm 应用程序中,我会知道我将如何制作它。
不幸的是,WPF 中没有 KeyPress,"code" 也不再起作用。
如何正确,事件是什么?
在这里你可以看到在Windows表格中有效的旧代码:
private void tbKreisdurchmesser_KeyPress(object sender, KeyEventArgs e)
{
if (char.IsNumber(e.Key) || e.KeyChar==".")
{
}
else
{
e.Handled = e.KeyChar != (char)Keys.Back;
}
}
您可以为文本框添加 Previewtextinput 事件并使用正则表达式验证该事件中的值,
private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
var textBox = sender as TextBox;
e.Handled = Regex.IsMatch(e.Text, "[^0-9]+");
}
我使用 WPF 应用程序,我希望在文本框中只允许数字。在 WindowsForm 应用程序中,我会知道我将如何制作它。
不幸的是,WPF 中没有 KeyPress,"code" 也不再起作用。
如何正确,事件是什么?
在这里你可以看到在Windows表格中有效的旧代码:
private void tbKreisdurchmesser_KeyPress(object sender, KeyEventArgs e)
{
if (char.IsNumber(e.Key) || e.KeyChar==".")
{
}
else
{
e.Handled = e.KeyChar != (char)Keys.Back;
}
}
您可以为文本框添加 Previewtextinput 事件并使用正则表达式验证该事件中的值,
private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
var textBox = sender as TextBox;
e.Handled = Regex.IsMatch(e.Text, "[^0-9]+");
}