Использование эффекта «гиперссылки» в приложениях Winforms - PullRequest
8 голосов
/ 22 февраля 2010

Что люди думают об использовании симулированных гиперссылок в приложениях Winforms?

Пример:

alt text

В моем примере вы должны нажать «в» учетную карточку Организации для Acme Corp Inc или «в» сведения о следующей встрече.

Если на данный момент мы игнорируем, как пользователь редактирует Организацию или добавляет / удаляет встречу, является ли это разумным пользовательским интерфейсом в Winforms, чтобы использовать синий и подчеркивание для обозначения нажмите здесь, и я буду перенести вас на новый экран

Как в:

TextBox1.Font = New Font("Blah", 8.25!, FontStyle.Underline etc
TextBox1.ForeColor = Color.Blue

Не забывая:

TextBox1.Cursor = Cursors.Hand

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

Плюсы:

  • это знакомо пользователям и это очевидно, не будучи навязчивым или занимая любой экран недвижимости

  • легко реализовать

  • часто используемая альтернатива (кнопка со значком или даже всего лишь тремя точками [...]) выглядит немного старомодно, не очень хорошо работает в сетках, и занимает место

Минусы:

  • со всей гибкостью и контролем у вас есть во внешнем интерфейсе Winforms, вы должен быть в состоянии разработать умный интерфейс без необходимости заимствовать у браузеры (может быть ???)

  • эти псевдо-ссылки не будут вести себя как истинные якорные теги (не будет никаких "посетил" [т.е. покрасней, если я уже был здесь] или "парить" поведение и нет открытых в новой вкладке функции, без большой работы) ... потенциально раздражает пользователей?

  • отвлекает от подлинных гиперссылок (как в адресах электронной почты и т. д.) - этих нет больше выделяться ссылками Интернет "(в браузер, чтобы почтовый клиент) ... очень незначительная проблема?

Ответы [ 4 ]

4 голосов
/ 22 февраля 2010

Даже браузеры не работают таким образом. Используйте LinkLabel, а не TextBox.

3 голосов
/ 22 февраля 2010

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

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

Кроме того, хотя гиперссылки интуитивно понятны для навигации, такой как детализация, я не уверен, что они хороши для назначения значения поля. Существует разница между получением дополнительной информации об организации Acme Corp (о чем говорит ваша ссылка Acme Corp) и получением диалогового окна для выбора организации для John Smith (функция назначения). Так что, если ваше намерение - это назначение, а не настоящее углубление, ссылки, вероятно, не очень хорошая идея. Для назначения кнопка с тремя точками имеет большой смысл. Назначение изменяет базовые данные, поэтому следует использовать командную кнопку. Это естественное расширение кнопки в раскрывающемся меню. Заголовок кнопки с тремя точками минимизирует используемое пространство и связан с диалогами, поскольку именно это они подразумевают в заголовках меню и кнопок. Это может выглядеть старомодно, но именно поэтому оно работает - это согласуется с прошлым опытом пользователей.

2 голосов
/ 22 февраля 2010

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

Также довольно популярен в корпоративных приложениях.

Возможно, стоит подумать об изменении цвета, возможно, коричневого или зеленого, чтобы он сразу не подразумевал собственную веб-ссылку.

Также во многих веб-приложениях, созданных с использованием некоторых управляемых событиями сред (например, ASP.NET WebForms, JSF и т. Д.), Интенсивно используются ссылки, которые никуда не связываются, но вызывают некоторую обработку на стороне сервера (в основном обработчик событий). Так что это не необычное использование.

1 голос
/ 22 февраля 2010

Мне это не нравится. Если я вижу ссылку, я ожидаю, что она откроет окно браузера при нажатии. Более стандартным было бы иметь небольшую кнопку / иконку "изменить" рядом с ярлыком. Вы могли бы избежать использования стиля текста «(edit)» после текста, который также выглядел бы вполне нормально, вместо того, чтобы предполагать, что браузер задействован.

например:

Организация: | Acme Dustbins (редактировать) |
или
Организация: | Acme Dustbins | (Редактирование)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...