У меня есть глобальная родительская форма с несколькими дочерними формами и хотелось бы иметь комбинацию клавиш быстрого доступа для пользователя, чтобы переключаться между ними. Я бы хотел, чтобы эта логика обрабатывалась родительской формой, чтобы формы ребенка не зависели от этого.Каков наилучший способ уловить комбинации клавиш в форме владельца?
Этот, по-видимому, общий сценарий (например, переключение активных документов в Visual Studio, активные вкладки в браузерах и т. Д.) Оказался неожиданно трудным для реализации. Единственный способ, который я нашел сделать до сих пор, - использовать глобальный крючок или горячую клавишу. Проблема с этим подходом заключается в том, что они не позволяют другим приложениям использовать одну и ту же горячую клавишу, так как эта настройка применяется в системе.
Каков наилучший способ для формы владельца прослушать определенные нажатия клавиш, даже если дочерние формы находятся в фокусе?
Вы можете подписаться на 'PreviewKeyDown' события каждого ребенка которое вы создаете, или туннелируйте их до общей модели просмотра, которая обрабатывает их. –
ctrl + tab должен быть добавлен по умолчанию. –
@AbdulRehmanSayed Я не использую рамки MDI, а только дочерние окна с общим владельцем. Я бы предпочел избежать MDI или по крайней мере понять, как MDI реализует это. – glopes