WPF TextBox没有空格允许

时间:2017-08-02 09:46:04

标签: c# wpf textbox

我希望用户只在TextBox中写入数字(0-9)。 我使用以下代码来阻止用户编写除数字以外的字母和其他字符,但我无法避免用户使用TextBox中的空格。

C:\Program Files\Java\jre1.8.0_144

我已经尝试使用像

这样的东西了
private void CheckIsNumeric(TextCompositionEventArgs e)
{
    int result;

    if (!(int.TryParse(e.Text, out result)))
    {
       e.Handled = true;
       MessageBox.Show("!!!no content!!!", "Error", 
                       MessageBoxButton.OK, MessageBoxImage.Exclamation);
    }
}

但没有成功。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

检查前是否单独检查空格,或只检查空格。因此,用户可以根据需要进行空间分配,并且不会改变任何内容。

EditText

答案 1 :(得分:0)

为您的textBox注册KeyPress事件 并添加此代码。

private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
    if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.'))
    {
        e.Handled = true;
    }

    // If you want to allow decimal numeric value in you textBox then add this too 
    if ((e.KeyChar == '.') && ((sender as TextBox).Text.IndexOf('.') > -1))
    {
        e.Handled = true;
    }
}