С#/WinForms/Сделать меню основной формы доступным из дочерней формы (сочетания клавиш)

У меня есть форма с полосой меню, в которой есть сочетания клавиш. Клавиатура работает как положено. Затем я добавляю еще одну форму, которая принадлежит основной форме (child.Owner = main). Когда эта форма имеет фокус, я не могу получить доступ к меню в основной форме (с помощью клавиатуры).

Я предполагаю, что это ожидаемое поведение, но что, если я хочу разрешить доступ к меню в основной форме, когда дочерняя форма имеет фокус, как мне это сделать?

Мне не хочется вручную настраивать и обрабатывать все события клавиатуры и привязывать их к правильному действию, это единственный способ?

Ура, экв.


person eq_    schedule 12.12.2011    source источник
comment
Нет, это не MDI-приложение.   -  person eq_    schedule 12.12.2011
comment
Затем вам нужно вручную отправить события клавиатуры в родительскую форму.   -  person Renatas M.    schedule 12.12.2011


Ответы (2)


установить свойство KeyPerview дочерней формы в True.

person MRM    schedule 12.12.2011
comment
Это не сработало, правда? Я думал, что это использовалось формой для ввода данных перед любыми дочерними элементами управления. - person eq_; 12.12.2011

Вы можете попробовать следующее — это добавит меню в дочернюю форму, но все равно запустит обработчики событий в родительской форме:

        Form2 childForm = new Form2();
        childForm.Controls.Add(menuStrip1);
        childForm.MainMenuStrip = this.menuStrip1;
        childForm.Show();
person Veldmuis    schedule 19.12.2011