Я следующую задачу:Как скрыть пачку модальных форм в .NET Windows Forms
я открыть несколько модальных форм в стеке (например, form1 открывает модальное форму Form2, которая в свою очередь, открывает модальную форму вид3, и т.п.). Я хотел бы скрыть весь стек.
Я попытался вызвать метод Hide или установить свойство Visible в родительском, но это только скрывает родителя. Я также попытался скрыть каждую форму отдельно, но тогда мне нужно вызвать ShowDialog на каждой из форм, которая блокирует поток, в котором я вызываю вышеупомянутый метод.
Есть ли способ установить модальные диалоги так, чтобы они наследовали статус родителя и спрятались в каскаде, просто установив свойство в первую форму?
Я также открыт для других предложений.
Модальный диалог означает: «Пожалуйста, сделайте что-нибудь прямо сейчас, прежде чем продолжить». Имея модальные формы над модальными формами, а затем желая просто скрыть их, вы не * действительно * используете модальные формы так, как они были предназначены. Подумайте о пересмотре интерфейса gui. – LarsTech
К сожалению, решение этой проблемы путем перепроектирования графического интерфейса не является вариантом. Даже если бы это было возможно, я думаю, что текущий дизайн действителен, так как могут быть случаи, когда форма может иметь сложную функциональность. Поэтому, если форма, запрашивающая внимание пользователя, имеет достаточно сложную логику, необходимо также заблокировать эту форму, которая блокирует родителя. Кроме того, три уровня глубины для бизнес-процесса кажутся вполне приемлемыми для бизнес-приложений. – Bogdan