我有一个名为TextBox1
的文本框。只允许用户输入大写字母。其他角色必须被拒绝。我怎么能这样做?
private void TextBox1_KeyDown(object sender, KeyEventArgs e)
{
if (!"ABCDEFGHIJKLMNOPQRSTUVWXYZ".Contains(Convert.ToChar(e.KeyValue)))
{
SendKeys.Send(Convert.ToChar(0).ToString());
}
}
答案 0 :(得分:6)
请改用MaskedTextbox。更容易。你的面具可以是这样的:>???????????
取决于最大允许长度。
答案 1 :(得分:6)
试试这个:
private void TextBox1_KeyDown(object sender, KeyEventArgs e)
{
if (!"ABCDEFGHIJKLMNOPQRSTUVWXYZ".Contains(Convert.ToChar(e.KeyValue)))
e.Handled = true;
}
答案 2 :(得分:0)
在KeyEventArgs中有一个名为SuppressKeyPress的属性。如果给定的键不在列表中,您可以将其设置为true。然后密钥将不会传递到您的文本框。
答案 3 :(得分:0)
使用MaskedTextBox
。你为什么还要使用SendKeys,你认为0字符的作用是什么?