Show / Hide Table of Contents

Осуществление ввода мышью в Windows Forms

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

Положение указателя мыши и попадания

Когда пользователь перемещает мышь, операционная система перемещает указатель мыши. Указатель содержит один пиксель, называется активной точкой, которой операционная система отслеживает и распознает как положения указателя. Когда пользователь перемещает мышь или нажимает кнопку мыши, Control , содержащий HotSpot вызывает соответствующее событие мыши. Вы можете получить текущее положение мыши с Location свойство MouseEventArgs при обработке события мыши или с помощью Position свойство Cursor класса. Можно впоследствии использовать сведения о расположении мыши для проверки нажатия и затем выполнить действие на основе расположения указателя мыши. Проверка нажатия возможности встроены некоторые элементы управления Windows Forms такие как ListView, TreeView, MonthCalendar и DataGridView элементов управления. Используется с соответствующее событие мыши, MouseHover к примеру, попадания очень полезен для определения, когда приложение должно выполнить определенное действие.

События мыши

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

Событие мыши Описание
Click Это событие происходит при отпускании кнопки мыши, обычно перед MouseUp событий. Обработчик этого события принимает аргумент типа EventArgs. Обработайте это событие, когда нужно только определить, когда происходит щелчок.
MouseClick Это событие происходит, когда пользователь щелкает мышью элемент управления. Обработчик этого события принимает аргумент типа MouseEventArgs. Обработайте это событие, когда требуется получить сведения о мыши, когда происходит щелчок.
DoubleClick Это событие возникает при двойном щелчке элемента управления. Обработчик этого события принимает аргумент типа EventArgs. Обработайте это событие, когда нужно только определить, когда происходит двойной щелчок.
MouseDoubleClick Это событие происходит, когда пользователь дважды щелкает мышью элемент управления. Обработчик этого события принимает аргумент типа MouseEventArgs. Обработайте это событие, когда требуется получить сведения о мыши, когда происходит двойной щелчок.
MouseDown Это событие происходит, когда указатель мыши находится над элементом управления, и пользователь нажимает кнопку мыши. Обработчик этого события принимает аргумент типа MouseEventArgs.
MouseEnter Это событие происходит, когда указатель мыши пересекает границы или клиентскую область элемента управления, в зависимости от типа элемента управления. Обработчик этого события принимает аргумент типа EventArgs.
MouseHover Это событие происходит, когда указатель мыши останавливается и над элементом управления. Обработчик этого события принимает аргумент типа EventArgs.
MouseLeave Это событие происходит, когда указатель мыши покидает границы или клиентскую область элемента управления, в зависимости от типа элемента управления. Обработчик этого события принимает аргумент типа EventArgs.
MouseMove Это событие возникает при перемещении указателя мыши, когда оно находится над элементом управления. Обработчик этого события принимает аргумент типа MouseEventArgs.
MouseUp Это событие происходит, когда указатель мыши находится над элементом управления и пользователь отпускается кнопку мыши. Обработчик этого события принимает аргумент типа MouseEventArgs.
MouseWheel Это событие происходит при вращении колесика мыши, когда элемент управления имеет фокус. Обработчик этого события принимает аргумент типа MouseEventArgs. Можно использовать Delta свойство MouseEventArgs для определения того, насколько прокручена мышь.

Изменение ввода мыши и определение системных параметров

Можно определить и изменить способ, элемент управления обрабатывает ввод от мыши путем создания производного элемента управления и использования GetStyle и SetStyle методы. SetStyle Метод принимает побитовое сочетание ControlStyles значения, чтобы определить, будет ли элемент управления иметь стандартный щелкните или дважды щелкните поведение, или если элемент управления будет обрабатывать обработку. Кроме того SystemInformation класс включает свойства, которые описывают возможности мыши и укажите, как мышь взаимодействует с операционной системой. В следующей таблице перечислены эти свойства.

Свойство Описание
DoubleClickSize Получает размеры в пикселях, области, в котором пользователь должен щелкнуть дважды, чтобы операционная система обработала два щелчка как двойной щелчок.
DoubleClickTime Получает максимальное число миллисекунд, которое может пройти между первым и вторым щелчком, чтобы операционная система обработала действия мыши как двойной щелчок.
MouseButtons Возвращает число кнопок мыши.
MouseButtonsSwapped Возвращает значение, указывающее, могут ли меняться местами функции левой и правой кнопок мыши.
MouseHoverSize Возвращает размеры прямоугольника (в пикселях), в котором должен находиться указатель мыши в течение времени наведения мыши перед тем, как создается сообщение о наведении мыши.
MouseHoverTime Возвращает интервал времени (в миллисекундах), в течение которого указатель мыши должен оставаться в прямоугольнике наведения перед тем, как вызывается сообщение о наведении мыши.
MousePresent Получает значение, указывающее, установлена ли мышь.
MouseSpeed Получает значение, указывающее текущую скорость мыши от 1 до 20.
MouseWheelPresent Возвращает значение, указывающее, установлена ли мышь с колесом прокрутки.
MouseWheelScrollDelta Получает значение приращения одном повороте колесика мыши.
MouseWheelScrollLines Возвращает число строк, прокручиваемых при вращении колесика мыши.

См. также

  • Ввод данных мышью в приложении Windows Forms
  • Захват мыши в Windows Forms
  • Указатели мыши в Windows Forms
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX