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