Включить событие KeyDown только в активном дочернем элементе приложения MDI c # - PullRequest
0 голосов
/ 13 сентября 2010

У меня есть MDI-приложение с mainForm и childForm с KeyPreview, установленным в TRUE.Теперь в моей childForm, когда я нажимаю клавишу, программа запускает событие KeyPressed в обеих формах.Могу ли я отключить событие в mainForm, когда childForm активен?

То, что я хочу, это: когда childForm активен, должно запускаться только событие в форме ...

С уважением, Стефано

Ответы [ 2 ]

2 голосов
/ 05 мая 2011

Вы можете просто добавить

if(ActiveMdiChild != null)
  return;

к началу обработчика событий родительского окна ...

0 голосов
/ 19 октября 2017

ответ должен быть таким

    private void mdifrm_MdiChildActivate(object sender, EventArgs e)
    {
        if (ActiveMdiChild != null)
            // if there's a form keyPreview set to False
            KeyPreview = false; 
        else
            // else set to True
            KeyPreview = true;

    }
...