Осуществление ввода мышью в 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 | Возвращает число строк, прокручиваемых при вращении колесика мыши. |