我希望用户只在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);
}
}
但没有成功。
感谢您的帮助。
答案 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;
}
}