В настоящее время я работаю над winform, на котором есть панель. Я должен иметь возможность использовать стрелки вверх, вниз, влево и вправо на панели и что-то произойдет.Не удалось создать событие KeyDown в панели
Я попытался добавить событие с этой строки кода:
(MainPanel as Control).KeyDown +=
new KeyEventHandler(panelKeyPressEventHandler);
С этим KeyDown код:
public void panelKeyPressEventHandler(object sender, System.Windows.Forms.KeyEventArgs e)
{
MessageBox.Show("Here I am!");
switch (e.KeyCode)
{
case Keys.L:
{
break;
}
case Keys.R:
{
break;
}
case Keys.Up:
{
break;
}
case Keys.Down:
{
break;
}
case Keys.Right:
{
break;
}
case Keys.Left:
{
break;
}
}
}
До сих пор, даже когда я гарантирую, фокус установлен на панели, я неспособный заставить его ввести эту функцию события KeyDown для чего угодно. :(Я могу ударить ключи целый день и ничего не происходит.
Кто-нибудь есть какие-либо предложения по лучшим способом справиться вверх, вниз, влево и вправо нажат, когда панель имеет фокус?
Спасибо !
Что вы хотите совершить? Вполне вероятно, что вы захотите установить там какой-то другой элемент управления, «Dock.Fill», а затем отреагируйте на это. Вы можете делать вещи с помощью панели, но это более полезно для того, чтобы просто держать вещи, с которыми вы хотите играть. – DonBoitnott
Возможный дубликат [Панель не получает фокус] (http://stackoverflow.com/questions/3562235/panel-not-getting-focus) –