Не работает обработчик события KeyDown, C# [дубликат]

92
18 марта 2021, 08:00
Этот вопрос уже существует:
Не обрабатывается событие KeyDown (C#) [закрыт]
Закрыт 1 год назад.

Уже задавал такой вопрос, но ответа нет: не обрабатывается событие KeyDown. Вот сам обработчик:

public Form1()
{
    InitializeComponent();
    this.KeyPreview = true;
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    MessageBox.Show(e.KeyValue.ToString());
}

Сообщение не выводится, в чём может быть проблема? Функция подписана на событие.

Answer 1

Ну значит вы не подписались на событие, сделайте так:

public Form1()
{
    InitializeComponent();
    this.KeyPreview = true;
    this.KeyDown += Form1_KeyDown;
}

Либо через вкладку События у формы Form1

READ ALSO
Поиск дочерних объектов в Unity

Поиск дочерних объектов в Unity

Я создаю префабы и для замены их компонентов использую

100
System.Convert.ChangeType для DateTime

System.Convert.ChangeType для DateTime

Есть generic-метод для преобразования типов, для всех типов в принципе он работает адекватно:

105
Как я могу создать UI элемент под спрайтом?

Как я могу создать UI элемент под спрайтом?

У меня есть Canvas который создает префабы(UI) ,но дело в том что мне нужно иметь один спрайт который всегда должен находиться над ними(префабы...

98
C# Передача данных из асинхронного метода

C# Передача данных из асинхронного метода

Есть метод, который асинхронно выполняет загрузку файлов, как задачу методом WebClientDownloadFileTaskAsync

83