Этот вопрос закрыт для ответов, так как повторяет вопрос Как обработать событие KeyDown для стрелок?
@ITLDS

Не работает метод OnKeyDown. В чём ошибка?

Мне нужно обрабатывать событие KeyDown для стрелок. KeyDown не обрабатывается при нажатии на стрелки, по этому я указываю на какие клавиши нужно реагировать через IsInputKey а потом работаю с этим в OnKeyDown:
protected override bool IsInputKey(Keys keyData)
        {
            switch (keyData)
            {
                case Keys.Right:
                case Keys.Left:
                case Keys.Up:
                case Keys.Down:
                    return true;
            }
            return base.IsInputKey(keyData);
        }
        protected override void OnKeyDown(KeyEventArgs e)
        {
            base.OnKeyDown(e);
            MessageBox.Show("efg");
        }

Но ничего не выходит. Что делаю не так?
  • Вопрос задан
  • 294 просмотра
Решения вопроса 1
Planet_93
@Planet_93
Посмотрите как работает switch. И убедитесь приходит ли вам данное событие в метод с помощью точки останова.

Console.WriteLine("Нажмите Y или N");
string selection = Console.ReadLine();
switch (selection)
{
    case "Y":
        Console.WriteLine("Вы нажали букву Y");
        break;
    case "N":
        Console.WriteLine("Вы нажали букву N");
        break;
    default:
        Console.WriteLine("Вы нажали неизвестную букву");
        break;
}
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы