Дизайн GUI - Несколько форм по сравнению с Моделируемым MDI (Вкладки) по сравнению с PageControl

Формула для вычисления суммы узлов подробно L: (Учитывая, что существуют корневые узлы N)

Н <глоток> L

Для вычисления количества всех узлов, нужно сделать это для каждого слоя:

for depth in (1..L)
    nodeCount += N ** depth

, Если существует только 1 корневой узел, вычтите 1 из L и добавьте 1 к общему количеству узлов.

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

     *                *                 *         N ** 1
    ***              ***               ***        N ** 2
*** *** ***      *** *** ***       *** *** ***    N ** 3

Это - общественная Wiki, поэтому не стесняйтесь изменять мою ужасную алгебру.

5
задан mghie 14 August 2009 в 11:09
поделиться

2 ответа

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

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

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

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

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

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

7
ответ дан 14 December 2019 в 01:13
поделиться

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

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

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

2
ответ дан 14 December 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: