我希望我的文本框永远不会接受特殊的字符。 只接受空格,数字和字母。 我找到了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事件等效?
我尝试用#34;"替换未被接受的字符。使用此功能但它不起作用。当我粘贴时显示任何字符,并且由于某种原因它删除了默认的初始文本" text1":
private void rsNameTextBox_TextChanged(object sender, EventArgs e)
{
Regex reg = new Regex(@"^[\s\dA-Za-z]+$");
rsNameTextBox.Text = reg.Replace(rsNameTextBox.Text,"");
}
答案 0 :(得分:0)
为什么你没有使用
ShortcutsEnabled
TextBox
你的rsNameTextBox_KeyPress
想要防止剪切,复制和粘贴功能。
然后您可以在 if(preg_match('/[^a-z\-0-9]/i', $value))
{
echo "<META HTTP-EQUIV='Refresh' Content='0; URL=http://$ponka/name/error'>";
}
Here是如何防止窗口表单应用程序中的粘贴功能的链接。