如何在没有特殊选择的情况下在 c# winforms 中获得按键

我有一个控制器,您可以通过鼠标单击来移动它。


我也希望控制器通过按键(箭头键)移动。


我所拥有的是:


    private void project1_KeyDown(object sender, KeyEventArgs e)

    {

        if (e.KeyCode == Keys.Up)

        {

            MoveUp();

        }


        if (e.KeyCode == Keys.Down)

        {

            MoveDown();

        }


        if (e.KeyCode == Keys.Left)

        {

            MoveLeft();

        }


        if (e.KeyCode == Keys.Right)

        {

            MoveRight();

        }

    }


    private void project1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)

    {

        switch (e.KeyCode)

        {

            case Keys.Down:

            case Keys.Up:

            case Keys.Left:

            case Keys.Right:

                e.IsInputKey = true;

                break;

        }

    }

MoveDirection() - 方法工作正常,因为当我按下鼠标按钮时它们是相同的。


但我无法让它与箭头键或任何键一起使用(我也尝试过 WASD 来玩,但它不起作用 - 没有任何反应!)


我究竟做错了什么?


对不起,如果这是一个菜鸟问题,我仍在学习 c# :)


jeck猫
浏览 138回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP