@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");
        }

Но ничего не выходит. Что делаю не так?
  • Вопрос задан
  • 76 просмотров
Решения вопроса 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;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
PR-solution Саранск
от 80 000 до 150 000 руб.
ГК АРТИ Москва
от 150 000 руб.
МВС Телеком Москва
от 100 000 руб.
16 июл. 2019, в 12:33
20000 руб./за проект
16 июл. 2019, в 12:18
5000 руб./за проект