仅允许文本中的数字
textBox.KeyPress += (sender, e) => e.Handled = !char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar);
这只允许在 TextBox
中使用数字和控制字符,其他组合可以使用相同的方法将 Handle
属性设置为 true 来阻止文本。
用户仍然可以复制/粘贴不需要的字符,因此应该在 TextChanged
上进行额外检查以清除输入:
textBox.TextChanged += (sender, e) => textBox.Text = Regex.Match(textBox.Text, @"\d+").Value
在此示例中,使用正则表达式来过滤文本。
**** 如果可能, NumericUpDown 应该是数字的首选。