Как узнать находится ли курсор в форме?

200
25 марта 2018, 18:26

Необходимо понять находится ли курсор мыши на данный момент в форме, как лучше всего это сделать?

Answer 1

Самый простой способ - bool переменная, работающая с обработчиками событий формы MouseMove/MouseEnter и MouseLeave. В обработчике MouseMove/MouseEnter записывайте в вашу переменную true, а в обработчике MouseLeave - false. Таким образом, обращаясь к переменной вы будете знать, находится ли курсор на форме либо нет.

Answer 2

Свойство MousePosition возвращает позицию мыши в экранных координатах.

Методом PointToClient преобразуем экранные координаты в координаты контрола/формы.

Далее проверяем, попадают ли эти координаты в границы формы.

var point = PointToClient(MousePosition);
var isInForm = ClientRectangle.Contains(point);
READ ALSO
GMap.Net сдвинуть нулевой меридиан

GMap.Net сдвинуть нулевой меридиан

Всем приветКак в GMap

215
C# WinForms Размер приложения и потребление ОЗУ

C# WinForms Размер приложения и потребление ОЗУ

C# WinForms Размер приложения и потребление ОЗУ

233
Исключение типа System.IndexOutOfRangeException

Исключение типа System.IndexOutOfRangeException

Нужно считать массив из любого числа элементов, сами числа могут быть как целыми, так и с запятойПри запуске выходит исключение System

211
Выбор времени для выключения ПК C#

Выбор времени для выключения ПК C#

Делаю приложение на C#, которое будет выключать пк после выбора времени, через которое выключить, и нажатия на кнопкуЯ смог реализовать это...

186