Графический дизайн - несколько форм против симулированного MDI (вкладки) против PageControl

Какой из следующих стилей вы предпочитаете?

  • Приложение для выполнения задач открывает новые формы
  • Приложение, которое хранит различные "формы" на разных вкладках
  • Приложение, основанное на PageControl и показывающее правильную вкладку в зависимости от того, что вы хотите сделать.
  • Что-то другое

Также есть ли у вас хорошие ссылки для графического дизайна?

3 ответа

Решение

С точки зрения программистов, решение PageControl быстро выходит из-под контроля. Возможно, слишком много кода и, конечно, много компонентов в одной форме. (Первоначально этот вопрос был помечен Delphi, поэтому я иду оттуда.)

С точки зрения пользователей, парадигма "открывает новое окно" часто сбивает с толку. Мы, люди, склонны думать, что мы способны выполнять многозадачность и обрабатывать множество открытых окон и задач, но это не так (мы переключаем задачи при потере времени, как компьютеры, и добавляем потерю точности).

Очевидно, это действительно зависит от типа приложения. Но я бы склонялся к парадигме, как показывают Chrome и Firefox в своих последних воплощениях:

  • держать различные формы в разных вкладках
  • позволить пользователю отсоединить вкладку в ее собственную форму (закрепить и открепить с помощью перетаскивания%drop)
  • добавить хороший способ навигации

Я также реализую что-то вроде SDI в качестве основного экрана приложения. Посмотрите на что-то вроде "внешнего вида стиля". Навигация, список объектов, детали объектов на разных панелях, некоторые дополнительные панели, например, кабина. А затем откройте новое окно / форму для определенных задач (некоторые модальные, некоторые немодальные), но недолговечные. После того, как письмо написано, оно отправляется и закрывает окно. Но у меня есть возможность работать с несколькими электронными письмами, если у меня есть такая возможность.

Посмотри на проблему. Если он имеет характер приборной панели, возьмите "внешний вид стиля" или около того. Если пользователи - широко распространенная, разнородная, не разбирающаяся в компьютерах толпа, используйте SDI или формы на вкладках. Если вы пишете для программистов, вы можете использовать несколько форм просто потому, что мы склонны думать, что справимся с этим. И это работает для нескольких экранов (надеюсь).

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

Вкладки тоже плохие, особенно если у вас более одной строки (или если у вас есть одна строка, но у вас все еще больше вкладок, чем уместится, и вам нужно использовать с ними какую-нибудь полосу прокрутки или кнопку "больше").

Я бы предпочел, чтобы программист подумал о проблеме и просто показал мне, что мне нужно увидеть, основываясь на том, что я делаю как пользователь. Реализация различных пользовательских интерфейсов в ваших программах в качестве пользовательских элементов управления (в отличие от дискретных форм), а затем их отображение или скрытие в зависимости от текущего контекста - вот путь.

Форма с вкладками - хорошая идея, если вы используете рамку для каждого содержимого вкладки. Это избавит вас от проблем, связанных с получением слишком большого количества кода в одном модуле формы. Попробуйте сделать так же, как Google Chrome. Я лично создаю меню с опциями, которые на самом деле являются фреймами, которые загружаются только тогда, когда пользователь запрашивает его, поэтому никогда не будет отображаться много вкладок, если они не нужны всем пользователям.

Другие вопросы по тегам