ПрограммированиеФорумОбщее

Нуб, C#, вопрос по координатам курсора относительно экрана

#0
14:15, 18 ноя 2010

Помогите пожалуйста ! как получить координаты курсора относительно формы ?

#1
14:22, 18 ноя 2010

Don_Reba
Я точно сказать не могу по названию методов, но думаю там что-то подобное как и в Visual Basic. У формы есть событие onMouseMove, которое происходит когда водишь курсором по форме. Ты выбираешь события формы и тыкаешь два раза на событие onMouseMove. У тебя раскроется окно кода где будет автоматически создана функция. Среди параметров данной функции (в Visual Basic она бы называлась процедурой) ты найдёшь значения X/Y (возможно x/y или mouseX/mouseY, или же mX/mY). Вот в этих значениях и будут координаты курсора мышки относительно формы (так как ты для формы обработчик и пишешь).

#2
14:22, 18 ноя 2010

Вычесть из экранных координат курсора экранные координаты формы.

#3
14:24, 18 ноя 2010

Alexander K
логично, долго и нудно искал координаты формы - не нашел, удивился, снова долго и нудно искал, подумал что я чего-то не понимаю в этой жизни, гуглил, долго думал, спросил на форуме

#4
14:27, 18 ноя 2010

Don_Reba
Да, кстати, одна мелочь: возможно в параметрах функции явно не будет видно координат мышки. Они могут быть зарыты в какой-нибудь структуре, которая передаётся в параметрах.

#5
14:40, 18 ноя 2010
protected override void OnMouseMove(MouseEventArgs e)
    {
      int x = e.X;
      int y = e.Y;
      base.OnMouseMove(e);
    }
#6
14:41, 18 ноя 2010

Dead64
Вот про это и я говорил.

#7
14:47, 18 ноя 2010

Dead64

спасибо- заработало

#8
14:48, 18 ноя 2010

Don_Reba
> логично, долго и нудно искал координаты формы - не нашел, удивился, снова долго
> и нудно искал, подумал что я чего-то не понимаю в этой жизни, гуглил, долго
> думал, спросил на форуме
Первая ссылка гугла на запрос "C# form position" :
http://msdn.microsoft.com/en-us/library/aa984420%28VS.71%29.aspx

#9
15:27, 18 ноя 2010

Alexander K
честно - видел ее, даже пытался прочесть, только не понял ничего (((((

#10
17:53, 18 ноя 2010

Form1.PointToClient(Cursor.Position)

Это если без эвентов.

ПрограммированиеФорумОбщее

Тема в архиве.