C#Textbox Keypress Control帮助

Nar*_*Dog 3 c# windows visual-studio winforms

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

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);
        }
    }
Run Code Online (Sandbox Code Playgroud)

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

Sir*_*ver 6

您应该使用该KeyDown事件:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Return)
    {
        //...
    }
}
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因,KeyPress,你可以使用(char)13'\r'为您的支票,但我怀疑这将在非Windows操作系统运行良好.

if (e.KeyChar == '\r')
Run Code Online (Sandbox Code Playgroud)

你不能只是转换Keys.Return为a char,因为它是一个bitflag枚举,并不只是持有相应的ASCII代码.