C#Textbox Keypress控件帮助

时间:2011-05-23 19:48:53

标签: c# windows winforms visual-studio

我有一个标准的文本框,我想在按键上执行操作。我目前有这个代码:

private void idTextEdit_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)Keys.Enter/Return)
        {
            e.Handled = true;
            SearchButtonClick(sender, EventArgs.Empty);
        }
    }

问题是,我在那里尝试了Enter和Return,这就是原因。只检查是否正常按键不是移位,控制等。如何设计它以便它以相同的方式拾取并使用输入/返回键?

2 个答案:

答案 0 :(得分:6)

您应该使用KeyDown事件:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Return)
    {
        //...
    }
}

如果出于某种原因KeyPress,您可以使用(char)13'\r'进行检查,但我怀疑这样做是否合适非Windows操作系统。

if (e.KeyChar == '\r')

您不能只将Keys.Return转换为char,因为它是一个位标记枚举,并且不仅仅包含相应的ASCII代码。

答案 1 :(得分:0)

改为使用KeyDown事件。