3

可能重复:
限制文本框中的数字和字母 - C#

我有一个名为TextBox1. 应该只允许用户输入大写字母。其他角色必须被拒绝。我怎样才能做到这一点?

private void TextBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (!"ABCDEFGHIJKLMNOPQRSTUVWXYZ".Contains(Convert.ToChar(e.KeyValue)))
    {
        SendKeys.Send(Convert.ToChar(0).ToString());
    }
}
4

4 回答 4

6

请改用MaskedTextbox。容易得多。您的掩码可以是这样>???????????的:取决于最大允许长度。

于 2012-10-11T11:50:06.853 回答
6

试试这个:

private void TextBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (!"ABCDEFGHIJKLMNOPQRSTUVWXYZ".Contains(Convert.ToChar(e.KeyValue)))
        e.Handled = true;

}
于 2012-10-11T11:56:51.307 回答
0

在 KeyEventArgs e 中有一个名为 SuppressKeyPress 的属性。如果给定的键不在您的列表中,您可以将其设置为 true。然后密钥将不会传递到您的文本框。

于 2012-10-11T11:50:22.080 回答
0

使用MaskedTextBox. 为什么你仍然使用 SendKeys,你认为 0 字符有什么作用?

于 2012-10-11T11:50:27.457 回答