C#按键事件-KeyDown

时间:2018-07-29 14:53:40

标签: c# keyevent

我有一个Windows窗体应用程序。我希望某些功能可以使用空格键。但是,当我按空格键时,我想要的功能不起作用,它将转到下一个表格。 (我做了KeyPreview = true)

private void Form7_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Space)
        {
            IEyeTracker eyeTracker = EyeTrackingOperations.FindAllEyeTrackers().FirstOrDefault();
            GazeDataStop(eyeTracker);
        }
    }

1 个答案:

答案 0 :(得分:0)

因为:

1-如果您有按钮,则...按下键将不起作用,因为表单不再具有焦点 2-您必须处理keydown,以免将其传递给其他控件

解决方案1: 将表单的KeyPreview属性设置为true

解决方案2:

设置e.Handled = true

private void Form7_KeyDown(object sender, KeyEventArgs e)
    {
        e.Handled = true;
        if (e.KeyCode == Keys.Space)
        {
            IEyeTracker eyeTracker = EyeTrackingOperations.FindAllEyeTrackers().FirstOrDefault();
            GazeDataStop(eyeTracker);
        }
    }