Мне было любопытно, как эта техника будет работать при различных условиях в приложении MDI. Оказывается, это не будет работать во всех ситуациях.
Если ваше приложение является приложением MDI, то основная форма MDI теряет / получает фокус, если немодальная форма в форме MDI имеет фокус, когда само приложение теряет / восстанавливает фокус (как отмечено в других ответах). Однако, если модальное диалоговое окно открыто (модально для самого приложения), основная форма MDI не теряет / не получает фокус (по крайней мере, активированные / деактивированные события, похоже, не срабатывают). Другими словами, если все, что вы обрабатываете, это события активации / деактивации MDI-формы, вы можете пропустить, когда приложение теряет / получает фокус, если модальная форма имеет фокус.
Таким образом, похоже, что для этого вам понадобится обрабатывать как активированные / деактивированные события формы MDI, так и события в любой форме, открытой модально (через ShowDialog).