В VB.NET LostFocus не работает на моем дочернем контейнере MDI

Если я настрою две формы, я могу закрыть одну или другую, используя функцию ".Close()" на дескрипторе формы. Однако это не работает на Mdi Forms. Дочерняя форма, кажется, никогда не теряет фокус, нажимая на любого другого дочернего элемента или родителя, поскольку все формы являются дочерними элементами родителя. Пока у родителя есть фокус, у детей также есть фокус.

Есть ли способ определить, потеряла ли дочерняя форма фокус, и если так, то закрыть его?

Я использую это для моих обычных (не Mdi) форм, и это прекрасно работает:

AddHandler sub_menu.LostFocus, AddressOf close_menu

Благодарю.

1 ответ

Когда форма получает фокус, закройте все дочерние формы MDI, которые не являются ActiveMDIChild родительской формы.

Другие вопросы по тегам