如何发送密钥ASCII值0?

时间:2012-10-11 11:46:24

标签: c# winforms sendkeys

  

可能重复:
  Restrict numbers and letters in textbox - C#

我有一个名为TextBox1的文本框。只允许用户输入大写字母。其他角色必须被拒绝。我怎么能这样做?

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

4 个答案:

答案 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字符的作用是什么?