Разница между MousEventArgs.Location и Cursor.Position - PullRequest
6 голосов
/ 26 декабря 2009

Я не понимаю, почему Cursor.Position отличается от MouseEventArgs.Location , они должны быть одинаковыми, не так ли?

Редактировать: Кажется, что ответ предполагает, что Cursor.Position== PointToScreen(MouseEventArgs.Location), но мое тестирование показывает иначе.

Ответы [ 4 ]

10 голосов
/ 26 декабря 2009

MouseEventArgs.Position - это положение курсора мыши относительно элемента управления во время события , во время события .

Курсор. Положение - текущая позиция курсора мыши относительно рабочего стола .

1 голос
/ 26 декабря 2009

MouseEventArgs.location дает вам позицию курсора относительно элемента управления во время события .

Windows.Forms.Cursor.Position дает вам положение курсора относительно рабочего стола.

Очевидно, что эти два не должны быть и не одинаковы. Последний может использоваться без события как такового в отличие от MouseEventArgs.Location

0 голосов
/ 26 декабря 2009

MouseEventArgs.Position относительно клиентского прямоугольника элемента управления, Cursor.Position находится в экранной координате.

0 голосов
/ 26 декабря 2009

Я думаю, что Cursor.Position относительно рабочего стола, тогда как MouseEventArgs.Location относительно элемента управления, вызвавшего событие

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...