2010-03-16 2 views
1

Каковы преимущества и недостатки каждого из них?Что лучше: дети MDI или немодальные диалоги?

+0

Мы говорим о детских формах MDI и модальных диалогах в Windows Forms? –

+0

Да, вот что я имею в виду. – deerchao

+0

Связано: [Есть еще место для MDI?] (Http://stackoverflow.com/questions/486020/is-there-still-a-place-for-mdi) [Delphi, MDI vs Tabs для многодискового документа интерфейс] (http://stackoverflow.com/questions/1463221/delphi-mdi-vs-tabs-for-multi-document-interface) – voyager

ответ

3

зависит от цели.

Используйте MDI (или с вкладками MDI), если пользователь обычно будет фокусироваться на одном документе одновременно и захочет увидеть как можно больше.

Использовать принадлежащие немодальные формы (например, панели инструментов), если пользователь захочет взаимодействовать со многими более мелкими формами одновременно.

Вы можете также использовать оба вида: a la Visual Studio.

2

Это зависит от многих факторов, наиболее важным является то, как вы хотите, чтобы ваш пользователь взаимодействовал с вашим приложением (или как он это делает).

Например, старый интернет-браузер был с множеством разных окон, которые загромождали панель задач. Теперь новое направление - с вкладками, и все двигаются к нему.

Напротив, MS Office движется в противоположном направлении. У вас было много файлов, открытых в одном окне, но теперь они загромождают панель задач.

Что отличает вкладки, так это то, что вы видите их все сразу, и вы можете быстро переключаться между ними быстрыми клавишами. Однако Office скрывал эти файлы в [строке меню] - [windows] - [имя файла]. Большая часть боли для изменения между файлами.

MDI был впервые изобретен для двух устаревших режимов, которые являются «мозаичными», где каждое окно устроено так, чтобы иметь одинаковую высоту/ширину и «каскад». Я никогда не встречал ни одного пользователя, которому нравились эти режимы.

Новое направление состоит в том, чтобы обрезать окна, как сказал Слэкс, например, в Visual Studio или в большинстве разработок, где вам нужно увидеть сразу множество данных. Этот метод является явным преемником режима «мозаики», но с большим преимуществом заключается в том, что всякий раз, когда вы изменяете размер или перемещаете одиночное окно, все остальные автоматически изменяются.

0

+1 для @ ответа Слэкса.

Возможно, для ваших пользователей может быть несколько окон в стиле диалога, которые на самом деле не нужны, если им нужно будет использовать отображаемые данные как часть другой задачи.

Например, некоторые из диалогов в SQL Server Management Studio на самом деле немыслимы, хотя у них могут быть кнопки «ОК» и «Отмена»; окно «Свойства базы данных» является таким зверьком.