Мне нужно захватить событие KeyUp в моей форме (для переключения «полноэкранного режима»). Вот что я делаю:Событие Capture KeyUp по форме, когда дочернее управление имеет фокус
protected override void OnKeyUp(KeyEventArgs e)
{
base.OnKeyUp(e);
if (e.KeyCode == Keys.F12) this.ToggleFullScreen();
}
private void ToggleFullScreen()
{
// Snazzy code goes here
}
Это прекрасно работает, если только элемент управления в форме не имеет фокуса. В этом случае я вообще не получаю событие (также попробовал OnKeyDown - там тоже не повезло).
Я могу обработать событие KeyUp из дочернего элемента управления, но элементы управления формы генерируются динамически, и их может быть много - каждый из них имеет много собственных детей.
Есть ли способ сделать это без создания обработчиков событий для каждого элемента управления на экране (что я, конечно, мог бы сделать с рекурсивной функцией)?
Короткие и сладкие. Мне это нравится! – Joseph
Просто то, что мне нужно! Прекрасное спасибо! –