2
我想我的文本框永遠不會接受特殊字符。 只接受空格,數字和字母。 我發現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事件等效?
我試圖「使用此功能,但它不是working.Its顯示任何字符,當我粘貼,由於某種原因其刪除默認的初始文本」更換不接受字符爲「text1」中:
private void rsNameTextBox_TextChanged(object sender, EventArgs e)
{
Regex reg = new Regex(@"^[\s\dA-Za-z]+$");
rsNameTextBox.Text = reg.Replace(rsNameTextBox.Text,"");
}
看到這個答案:http://stackoverflow.com/questions/3061475/paste-event-in-a-wpf-textbox。請注意,如果您嘗試使用PreviewTextInput命令檢查數據,您會發現空格,退格和刪除不會導致事件 - 您需要使用PreviewKeyDown事件來檢查該數據。 – PaulF
注 - 要忽略粘貼的輸入,您需要調用_e.CancelCommand(); _ – PaulF