UI Pattern - PullRequest
       36

UI Pattern

1 голос
/ 10 июля 2009

В моем приложении повторяется шаблон пользовательского интерфейса. Примером является сбор данных за 5 лет. Мне нужно собрать данные за 5 лет, а затем двигаться дальше. Может ли кто-нибудь указать мне на какие-либо хорошие сайты по дизайну пользовательского интерфейса для достижения такого рода функциональности. В настоящее время у меня есть представление формы сверху и подробное представление внизу, которое является неуклюжим и хотелось бы, чтобы некоторые из них были более полезными.

Ответы [ 4 ]

0 голосов
/ 18 февраля 2010

Что касается простого указания на пару хороших страниц шаблонов дизайна пользовательского интерфейса, вот мой список:

Вы также можете проверить домашние страницы книг О'Рейли

0 голосов
/ 18 февраля 2010

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

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

0 голосов
/ 18 февраля 2010

Если я правильно понимаю, вам нужно иметь «добавить пользовательский интерфейс», который может быть N записей.

В вашем примере вы добавляете произвольное количество адресов за последние 5 лет.

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

Вы можете найти что-то подобное на сайте Infragistics Quince здесь .

0 голосов
/ 18 февраля 2010

Лучший шаблон пользовательского интерфейса на самом деле включает UserControl (при использовании VS / .Net). Это позволяет вам создавать повторно используемый элемент управления. Скажем, вам нужно 5 лет работы. Вместо того, чтобы создавать каждый элемент управления отдельно для всех 5 лет, создайте один элемент управления UserControl и используйте его 5 раз.

Этот шаблон обеспечивает большую гибкость, потому что вы не только можете поместить специфичный для элемента управления код в UserControl, вы также можете кодировать дополнительные методы в форме, содержащей UserControl.

Если пользовательский контроль недоступен, я бы рекомендовал разбить ваш пользовательский интерфейс на группы связанных функций. Например:

class Employment : GroupControl // <-- inherit equivalent of whatever control group available
{
    public TextBox Name {get; set; }
    public TextBox Employee {get; set; }

    private TextBox name;
    private TextBox employer;
    // more controls

    public Employment()
    {
        // set all control properties
        // equivalent InitializeComponents();
    }
}

class MainForm : Form // <-- inherit equivalent of whatever form container available
{
    public Mainform()
    {
        // iterate 5 instances of Employment class
        this.Controls.Add(new Employment);
    }
}
...