C#中的KeyEventArgs

时间:2013-04-01 15:39:00

标签: c# event-handling

我遇到了如何捕捉按下哪个键的问题。这是我的代码,但我无法得到按键。我正在使用KeyEventArgs声明新变量然后进行比较。

    private void textBox2_TextChanged(object sender, EventArgs e)
    {
        KeyEventArgs k = null;
        if (e is KeyEventArgs)
        {
            k = (KeyEventArgs)e;
        }

        if (k.KeyCode == Keys.Enter)
        {
            // do something here
        }


    }

2 个答案:

答案 0 :(得分:3)

TextChanged不会给您KeyEventArgs。您想要KeyUpKeyDownKeyPressKeyPress代替您KeyPressEventArgs

答案 1 :(得分:3)

您需要添加:

 [component_name].KeyDown += new System.Windows.Forms.KeyEventHandler(this.Key_Pressed_Method);

进入表单的构造函数。然后,您可以在Key_Pressed_Method()方法中定义要执行的操作。