防止特殊字符输入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是空格键的键值。但这对我来说现在不起作用。我过去使用过这个代码,只适用于数字项。。。为了空间而尝试,但不起作用。有什么想法吗??

防止特殊字符输入c#

if (e.KeyCode == Keys.Space)
{
    // Do something here.
}

试着使用掩码规则,而不是自己做。

这里有一个例子:如何定义TextBox输入限制?

很难说,因为您没有给出太多细节。例如:WPF/Winforms?哪个版本?为什么?你的限制是什么?等

在任何情况下,您都不应该手动执行此操作。。。如果您使用的是WPF/MVVM,一个好的方法是使用验证。

对于以上内容,您可以查看本文中的validations部分:大mvvm模板