防止特殊字符输入c#
本文关键字:字符输入 | 更新日期: 2023-09-27 18:28:42
我试图阻止用户在文本字段中输入空格键。我有这个代码。
private void FirstNameBox_KeyDown(object sender, KeyEventArgs e)
{
//////////MessageBox.Show(e.KeyValue.ToString());
//Now check to see if the key pressed is a space
if ((e.KeyValue == 32))
{
MessageBox.Show("Please Enter only first name.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
//Stop the key registering
e.Handled = true;
e.SuppressKeyPress = true;
}
else
{
//allow enter
}
}
其中32是空格键的键值。但这对我来说现在不起作用。我过去使用过这个代码,只适用于数字项。。。为了空间而尝试,但不起作用。有什么想法吗??
if (e.KeyCode == Keys.Space)
{
// Do something here.
}
试着使用掩码规则,而不是自己做。
这里有一个例子:如何定义TextBox输入限制?
很难说,因为您没有给出太多细节。例如:WPF/Winforms?哪个版本?为什么?你的限制是什么?等
在任何情况下,您都不应该手动执行此操作。。。如果您使用的是WPF/MVVM,一个好的方法是使用验证。
对于以上内容,您可以查看本文中的validations部分:大mvvm模板