没有特殊字符的文本框

本文关键字:文本 特殊字符 | 更新日期: 2023-09-27 18:17:37

我希望我的文本框永远不接受特殊字符。只接受空格、数字和字母。我为Presskey事件找到了以下代码:

private void rsNameTextBox_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = e.KeyChar != (char)Keys.Back && !char.IsSeparator(e.KeyChar) && !char.IsLetter(e.KeyChar) && !char.IsDigit(e.KeyChar);
        }

但是当有人在文本框中粘贴内容时,它不起作用。我如何使一个textChanged事件等效?

我试着用这个函数替换不接受的字符",但它不起作用。当我粘贴时,它显示了任何字符并且由于某种原因它删除了默认的初始文本"text1":

 private void rsNameTextBox_TextChanged(object sender, EventArgs e)
        {
            Regex reg = new Regex(@"^['s'dA-Za-z]+$");
            rsNameTextBox.Text = reg.Replace(rsNameTextBox.Text,"");
        }

没有特殊字符的文本框

为什么你不使用ShortcutsEnabled属性的TextBox你想要防止剪切,复制和粘贴功能。

然后你可以使用rsNameTextBox_KeyPress

中的代码

这是链接,如何防止窗体应用程序的粘贴功能