很抱歉这个可能很简单的问题,但我发现我什么都不懂。 我只需要在文本框中屏蔽一个键...假设“_”...所以我想允许除下划线以外的所有符号
这是我目前所拥有的...
private void inputName_KeyDown(object sender, KeyRoutedEventArgs e)
{
if (!Regex.IsMatch(inputName.Text, @"_"))
{
e.Handled = true;
}
}
...但实际上我不明白正则表达式的工作原理以及如何使用它来满足我的需要。 感谢您的帮助。
我已经通过...解决了这个问题
inputName.Text = inputName.Text.Replace("_", "");
关于此文本框的 LostFocus 事件...但这当然不好
最佳答案
这是更好的解决方案,对于下划线“_”:
private void TextBox_KeyDown(object sender, KeyRoutedEventArgs e)
{
if (e.Key == (VirtualKey)(189))
{
e.Handled = true;
}
}
其他特殊字符的虚拟键码:
Semicolon (;) 186 Colon (:) 186 Plus (+) 187 Equals sign (=) 187 Comma (,) 188 Less than sign (<) 188 Minus (-) 189 Underscore (_) 189 Period (.) 190 Greater than sign (>) 190 Question mark (?) 191 Forward slash (/) 191 Backtick (`) 192 Tilde (~) 192 Opening square bracket ([) 219 Opening curly bracket ({) 219 Backslash () 220 Pipe (|) 220 Closing square bracket (]) 221 Closing curly bracket (}) 221 Single quote (') 222 Double quote (") 222
关于c# - 如何在 Windows Phone 8.1 中阻止一个特定的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27148341/