Ключевые функции не будут работать C#

У меня нет проблем с моим кодом, как я вижу, это прорывная игра, но для целей тестирования мне нужно иметь возможность подниматься, опускаться, влево и вправо вручную с помощью клавиш http://pastebin.com/fJWk1ifH

txtBox.KeyDown += new System.Windows.Forms.KeyEventHandler(txtBox_KeyDown); //initialisation for key presson on textbox

private void txtBox_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Up)
    {
        xChange = 0;
        yChange = -(trackbarSpeed.Value);
    }

    if (e.KeyCode == Keys.Down)
    {
        xChange = 0;
        yChange = (trackbarSpeed.Value);
    }

    if (e.KeyCode == Keys.Left)
    {
        yChange = 0;
        xChange = -(trackbarSpeed.Value);
    }

    if (e.KeyCode == Keys.Right)
    {
        yChange = 0;
        xChange = (trackbarSpeed.Value);
    }
}

1 ответ

Можно установить для свойства "KeyPreview" формы значение true или переопределить метод ProcessCmdKey(), как предлагается здесь. Key Events: ProcessCmdKey

Последний способ лучше.

Другие вопросы по тегам