Графический дизайн - несколько форм против симулированного MDI (вкладки) против PageControl
Какой из следующих стилей вы предпочитаете?
- Приложение для выполнения задач открывает новые формы
- Приложение, которое хранит различные "формы" на разных вкладках
- Приложение, основанное на PageControl и показывающее правильную вкладку в зависимости от того, что вы хотите сделать.
- Что-то другое
Также есть ли у вас хорошие ссылки для графического дизайна?
3 ответа
С точки зрения программистов, решение PageControl быстро выходит из-под контроля. Возможно, слишком много кода и, конечно, много компонентов в одной форме. (Первоначально этот вопрос был помечен Delphi, поэтому я иду оттуда.)
С точки зрения пользователей, парадигма "открывает новое окно" часто сбивает с толку. Мы, люди, склонны думать, что мы способны выполнять многозадачность и обрабатывать множество открытых окон и задач, но это не так (мы переключаем задачи при потере времени, как компьютеры, и добавляем потерю точности).
Очевидно, это действительно зависит от типа приложения. Но я бы склонялся к парадигме, как показывают Chrome и Firefox в своих последних воплощениях:
- держать различные формы в разных вкладках
- позволить пользователю отсоединить вкладку в ее собственную форму (закрепить и открепить с помощью перетаскивания%drop)
- добавить хороший способ навигации
Я также реализую что-то вроде SDI в качестве основного экрана приложения. Посмотрите на что-то вроде "внешнего вида стиля". Навигация, список объектов, детали объектов на разных панелях, некоторые дополнительные панели, например, кабина. А затем откройте новое окно / форму для определенных задач (некоторые модальные, некоторые немодальные), но недолговечные. После того, как письмо написано, оно отправляется и закрывает окно. Но у меня есть возможность работать с несколькими электронными письмами, если у меня есть такая возможность.
Посмотри на проблему. Если он имеет характер приборной панели, возьмите "внешний вид стиля" или около того. Если пользователи - широко распространенная, разнородная, не разбирающаяся в компьютерах толпа, используйте SDI или формы на вкладках. Если вы пишете для программистов, вы можете использовать несколько форм просто потому, что мы склонны думать, что справимся с этим. И это работает для нескольких экранов (надеюсь).
MDI - худший из возможных вариантов, на мой взгляд. Нет ничего, что я ненавижу больше, чем необходимость изменять размеры группы окон, мозаику или что-то еще.
Вкладки тоже плохие, особенно если у вас более одной строки (или если у вас есть одна строка, но у вас все еще больше вкладок, чем уместится, и вам нужно использовать с ними какую-нибудь полосу прокрутки или кнопку "больше").
Я бы предпочел, чтобы программист подумал о проблеме и просто показал мне, что мне нужно увидеть, основываясь на том, что я делаю как пользователь. Реализация различных пользовательских интерфейсов в ваших программах в качестве пользовательских элементов управления (в отличие от дискретных форм), а затем их отображение или скрытие в зависимости от текущего контекста - вот путь.
Форма с вкладками - хорошая идея, если вы используете рамку для каждого содержимого вкладки. Это избавит вас от проблем, связанных с получением слишком большого количества кода в одном модуле формы. Попробуйте сделать так же, как Google Chrome. Я лично создаю меню с опциями, которые на самом деле являются фреймами, которые загружаются только тогда, когда пользователь запрашивает его, поэтому никогда не будет отображаться много вкладок, если они не нужны всем пользователям.