У меня есть проблема с настройкой одного и того же обработчика событий для всех элементов управления в форме. Я хочу обрабатывать нажатые кнопки F5-F7, равномерно в моем приложении, поэтому я пытаюсь зарегистрировать тот же обработчик событий для всех элементов управления в форме. Я вставил
foreach (System.Windows.Forms.Control cont in this.Controls)
cont.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyPress);
в функции инициализирующих (). Не против названия Mainform_keyPkeypress, на самом деле это обработчик событий в классе.
Я также пытался вставить код в мою функцию init (), которая вызывается из конструктора. Но результат был таким же: событие не происходит, когда я нажимаю клавиши. Фокус на одной из кнопок формы.
Но если я реализую обработчик для одной из кнопок с помощью инструмента Design (Имя функции копирования в поле «Событие CAYPRESS), событие правильно поднимает, если кнопка находится в фокусе.
Любые идеи, почему Foreach не работал?