Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/22: Рейтинг темы: голосов - 22, средняя оценка - 4.91
Dim1One
41 / 41 / 4
Регистрация: 30.04.2011
Сообщений: 276
1

Как получить координаты места клика мышью относительно объекта, а не формы

28.06.2011, 20:17. Просмотров 4046. Ответов 8
Метки нет (Все метки)

Как получить координаты места клика мышью относительно определенного объекта, а не формы?
Исследование показали, что координаты всегда определяются относительно формы, а не PictureBox1'a:
vb.net
1
2
3
4
5
6
7
    Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
        MsgBox(Cursor.Position.ToString)
    End Sub
 
    Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
        MsgBox(Cursor.Position.ToString)
    End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2011, 20:17
Ответы с готовыми решениями:

Как при клики мышкой по TabControl1 вывести координаты клика мышки
Имеется процедура 'при нажатии на кнопку миши дает ее координаты Private...

Как сделать эффект движения объекта относительно заднего фона
Например, в игре марио, когда персонаж идет, задний фон как бы движется в...

Узнать координаты клика
подскажите есть ли команда заменяющая явный клик мышкой просто указав...

Как узнать координаты клика мышью в ActiveX контроле?
Как в ActiveX контроле узнать координаты точки куда мы кликнули мышкой?

Как получить координаты курсора относительно формы при нажатии кнопки мыши?
Всем привет! Как получить координаты курсора относительно формы при нажатии...

8
Darth Coder
281 / 262 / 107
Регистрация: 10.06.2011
Сообщений: 696
28.06.2011, 22:33 2
Отними от высоты клика вертикальный отступ объекта от верхней границы формы
с длиной аналогично
0
Dim1One
41 / 41 / 4
Регистрация: 30.04.2011
Сообщений: 276
29.06.2011, 06:51  [ТС] 3
Pipyak, совсем не то получается:
vb.net
1
2
3
    Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
        MsgBox(Cursor.Position.X - PictureBox1.Left & "  " & Cursor.Position.Y - PictureBox1.Top)
    End Sub
Если переместить PictureBox1 на форме, то координаты всегда разные получаются.
0
Darth Coder
281 / 262 / 107
Регистрация: 10.06.2011
Сообщений: 696
29.06.2011, 10:58 4
vb.net
1
2
3
4
5
Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
        Dim a as string
a=Cursor.Position.X - PictureBox1.Left & "  " & Cursor.Position.Y - PictureBox1.Top
MsgBox a
    End Sub
а так?
0
Dim1One
41 / 41 / 4
Регистрация: 30.04.2011
Сообщений: 276
29.06.2011, 14:20  [ТС] 5
Pipyak, ты написал тоже самое, только с помощью переменной. Это тоже положительного резултата не дает.
0
Юпатов Дмитрий
1613 / 1125 / 224
Регистрация: 23.12.2010
Сообщений: 1,495
29.06.2011, 17:08 6
а использовать параметр e процедуры
vb.net
1
Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
???
vb.net
1
2
3
Private Sub PictureBox1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
        MsgBox(e.Location.ToString)
    End Sub
для чего вообще процедуры имеют параметры? Попробуйте
1
Dim1One
41 / 41 / 4
Регистрация: 30.04.2011
Сообщений: 276
29.06.2011, 20:48  [ТС] 7
Юпатов Дмитрий, спасибо, теска. Работает.
0
eJ_Studio
167 / 147 / 14
Регистрация: 13.07.2011
Сообщений: 477
13.07.2011, 17:06 8
а на сколько мне известно cursor.position возвращает позицию курсора относительно экрана, а не формы и не всему тому о чем Вы пишите
0
Юпатов Дмитрий
1613 / 1125 / 224
Регистрация: 23.12.2010
Сообщений: 1,495
13.07.2011, 19:18 9
Цитата Сообщение от eJ_Studio Посмотреть сообщение
cursor.position возвращает позицию курсора относительно экрана
совершенно верно, но не в моем варианте
0
13.07.2011, 19:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2011, 19:18

QGraphicsView координаты клика мышью
Hallo. Продолжая предыдущую тему про картинку и вывод текста в нее, решил...

Получить координаты мышки относительно формы, но не экрана
MousePosition показывает координаты мышки относительно монитора, но мне нужно...

Как узнать координаты курсора мыши относительно формы?
Как узнать координаты курсора мыши? Добавлено через 35 минут относительно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru