Что лучше:Дети MDI или немодальные диалоги?
Вопрос
Какие плюсы и минусы у каждого из них?
Решение
Это зависит.
Используйте MDI (или MDI с вкладками), если пользователь обычно фокусируется на одном документе одновременно и хочет увидеть как можно больше.
Используйте собственные немодальные формы (например, окна инструментов), если пользователь хочет одновременно взаимодействовать со многими меньшими формами.
Вы также можете использовать оба, а-ля Визуальная студия.
Другие советы
Это зависит от многих факторов, наиболее важным из которых является то, как вы хотите, чтобы ваш пользователь взаимодействовал с вашим приложением (или как он/она решил это сделать).
Например, старый способ просмотра Интернета заключался в большом количестве различных окон, которые загромождали панель задач.Сейчас новая тенденция — вкладки, и все к ней движутся.
Напротив, MS Office движется в противоположном направлении.Раньше в одном окне открывалось много файлов, но теперь они загромождаются на панели задач.
Что хорошо во вкладках, так это то, что вы видите их все одновременно и можете быстро переключаться между ними с помощью горячих клавиш.Однако Office скрывал эти файлы в [строка меню]-[окна]-[имя файла].Очень сложно переключаться между файлами.
MDI был впервые изобретен для двух устаревших режимов: «мозаичного», когда каждое окно имеет примерно одинаковую высоту/ширину и «каскада».Я не встречал ни одного пользователя, которому нравились бы эти режимы.
Новая тенденция заключается в том, чтобы иметь окна обрезки, как сказал Слакс, например, в Visual Studio или большинстве сред разработки, где вам нужно видеть много данных одновременно.Этот метод является явным преемником режима «мозаика», но с большим преимуществом, заключающимся в том, что всякий раз, когда вы изменяете размер или перемещаете одно окно, все остальные автоматически перестраиваются.
+1 за ответ @SLaks.
Для ваших пользователей может быть важно иметь несколько окон в стиле диалога, которые фактически немодальны, если им потребуется использовать отображаемые данные как часть другой задачи.
Например, некоторые диалоговые окна в SQL Server Management Studio фактически немодальны, хотя в них могут быть кнопки «ОК» и «Отмена»;окно свойств базы данных — просто чудовище.