Предположим, у меня есть следующая задача.Управление несколькими формами одновременно
Существует основная форма заявки с многочисленными кнопками; когда вы нажимаете на каждую из этих кнопок, вы получаете еще одну форму. Второй щелчок на кнопке должен закрыть открытую форму.
Эти формы не должны отображаться на панели задач, поскольку они являются вспомогательными. Они не должны быть диалоговыми, поскольку это блокирует основную форму приложения и предотвращает выполнение пользователем каких-либо других операций с главным окном или с другими формами, такими как открытые. Они должны отображаться над основной формой, но не над другими окнами (поэтому TopMost не подходит). Когда такие формы закрыты, основная форма должна быть уведомлена, а когда основная форма сведена к минимуму, их также следует минимизировать.
Как бы вы решили эту проблему?
Текущее решение основано на использовании крючков. Это не очень легко понять и очень сложно поддерживать (в основном потому, что я не испытываю в win32). Он работает нормально около 90% ситуаций, но в 10% это не так.
Возможно, требования к поведению форм строгие?
I событие не знало о владельце ... Похоже, это хорошее решение. – 26071986