Взаимодействие с помощью мыши

Оптимизируйте дизайн приложения для Windows для сенсорного ввода и получите базовую поддержку мыши по умолчанию. 

Мыши

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

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

В этом разделе описываются вопросы разработки для взаимодействия с помощью мыши.

Язык мыши приложения UWP

Компактный набор взаимодействий с помощью мыши используется единообразно во всей системе.

Термин Описание

Обучение при наведении

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

Щелчок левой кнопкой для основного действия

Щелчок левой кнопкой вызывает основное действие (например, запуск приложения или выполнение команды).

Прокрутка для изменения представления

Отображение полос прокрутки для перемещения вверх, вниз, влево и вправо в пределах области содержимого. Для прокрутки содержимого можно щелкать на полосах прокрутки или вращать колесо мыши. Полосы прокрутки могут обозначать расположение текущего представления в пределах области содержимого (сдвиг касанием отображает аналогичный пользовательский интерфейс).

Щелчок правой кнопкой мыши для выбора и выполнения команды

Щелчок правой кнопкой мыши для отображения панели навигации (при наличии) и панели приложения с глобальными командами. Щелчок правой кнопкой мыши на элементе для его выделения и отображения контекстных команд для выбранного элемента.

Примечание Щелкните правой кнопкой мыши, чтобы отобразить контекстное меню, если команды выбора или панели приложения не подходят для пользовательского интерфейса. Однако настоятельно рекомендуется для всех вариантов поведения команд использовать панель приложения.
 

Команды пользовательского интерфейса для масштабирования

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

Команды пользовательского интерфейса для поворота

Отображение команд пользовательского интерфейса на панели приложения либо нажатие клавиш CTRL+SHIFT и вращение колеса мыши для эмуляции жеста поворота. Чтобы повернуть весь экран, поверните само устройство.

Щелчок левой кнопкой мыши и перетаскивание для изменения взаимного расположения элементов

Щелчок левой кнопкой мыши и перетаскивание элемента для его перемещения.

Щелчок левой кнопкой мыши и перетаскивание для выделения текста

Щелчок левой кнопкой мыши в пределах доступного для выделения текста и перемещение для выделения текста. Двойной щелчок для выделения слова.

События ввода с помощью мыши

Большинство входных данных с помощью мыши можно обрабатывать с помощью общих перенаправленных событий ввода, поддерживаемых всеми объектами UIElement . К ним относятся следующие объекты.

Однако вы можете воспользоваться определенными возможностями каждого устройства (например, событиями колесика мыши) с помощью указателя, жеста и событий манипуляции в Windows.UI.Input.

Образцы: См. наш пример BasicInput для .

Руководство по визуальной обратной связи

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

Дополнительные общие рекомендации по визуальной обратной связи см. в разделе Руководство по визуальной обратной связи.

Курсоры

Для указателя мыши предусмотрен набор стандартных курсоров. Они указывают на основное действие элемента.

С каждым из стандартных указателей сопоставлено изображение по умолчанию. Пользователь или приложение могут в любое время замещать изображение по умолчанию любым другим стандартным курсором. Изображение курсора можно выбрать с помощью функции PointerCursor.

Если требуется настроить курсор мыши:

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

Примеры