C#WPF如何仅在文本框中使用数值

时间:2017-02-27 08:02:04

标签: c# wpf events numeric

我使用WPF应用程序我想只允许文本框中的数字。在WindowsForm应用程序中,我会知道如何制作它 不幸的是,有一个KeyPress不在WPF和#34;代码"功能也不再。

这是怎么回事?事件是什么?

在这里,您可以看到在Windows窗体中运行的旧代码:

private void tbKreisdurchmesser_KeyPress(object sender, KeyEventArgs e)
{
    if (char.IsNumber(e.Key) || e.KeyChar==".")
    {

    }
    else
    {
        e.Handled = e.KeyChar != (char)Keys.Back;
    }
}

1 个答案:

答案 0 :(得分:3)

您可以为文本框添加Previewtextinput事件,并使用Regex验证该事件中的值,

private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    var textBox = sender as TextBox;
    e.Handled = Regex.IsMatch(e.Text, "[^0-9]+");
}