Форма MDI сфокусирована? - PullRequest
       2

Форма MDI сфокусирована?

1 голос
/ 24 декабря 2010

Мне очень повезло в разработке моего приложения ... до сих пор.
Основная форма моего приложения - родитель MDI, и я не думал добавлять детей MDI в свои тесты до сегодняшнего вечера.
К моему удивлению, родитель MDI, кажется, теперь никогда не «фокусируется». Событие Focus и метод OnFocus никогда не вызываются! Я имею в виду ... он кажется сфокусированным, но ни один из событий / методов фокусировки в коде не работает. Вместо этого ребенок MDI сообщает о фокусе.

Как мне это исправить?

1 Ответ

4 голосов
/ 24 декабря 2010

Это по замыслу.Форма действует как контейнер для других окон, элементов управления.Элементы управления получают фокус, пользователь взаимодействует, скажем, с кнопкой или текстовым полем.Только когда форма не имеет каких-либо элементов управления, она получит фокус, только потому, что ничто иное не сможет ее получить.То же самое произойдет с дочерней формой MDI, как только вы установите для нее элемент управления.Или с помощью Panel или UserControl, других типов управления контейнером.

Форма имеет события Activate и Deactivate.ActiveForm сообщает вам, что один из них в данный момент активен.Обратите внимание на различие между active и focus .

...