netlib.narod.ru< Назад | Оглавление | Далее >

Свойства, связанные с мышью

Хотя события Click и DoubleClick не предоставляют объект MouseEventArgs, указывающий позицию курсора мыши, это не значит, что эти сведения недоступны вовсе. Класс Control поддерживает два неизменяемых статических свойства, указывающих позицию мыши и текущую нажатую кнопку (кнопки):


Статические свойства Control (выборочно)



Тип Свойство Доступ Описание

Point MousePosition Чтение Возвращает позицию мыши в координатах экрана
MouseButtons MouseButtons Чтение Указывает кнопки, нажатые в данный момент


Эти свойства можно задействовать при обработке любых событий. Так как они статические, их можно использовать даже в классе, не являющемся производным от Control.

Имейте в виду, что свойства X и Y объекта MouseEventArgs указывают положение курсора мыши в координатах клиентской области, a Control.MousePosition дает позицию курсора в координатах экрана. Можете использовать метод PointToClient для преобразования координат экрана в координаты клиентской области.

Со статическим свойством Control.ModifierKeys мы познакомились в главе 6, поскольку оно имеет отношение к клавиатуре:


Статические свойства Control (выборочно)



Тип Свойство Доступ Описание

Keys ModiflerKeys Чтение Состояние клавиш Shift, Ctrl и Alt


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

  if ((mea.Button == Buttons.Left) && (Control.ModifierKeys == Keys.Shift))

netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz