Как отправить левую кнопку мыши HOLD + DRAG в VB 2010? - PullRequest
0 голосов
/ 04 марта 2012

Я бы хотел создать функцию в своем приложении в Visual Basic 2010, которая бы:

  • Имитация щелчка левой кнопкой мыши + удержание и перетаскивание с событием отметки таймера
  • Установите новые координаты XY для мыши, чтобы перетащить элемент в новое место
  • Убрать нажатие левой кнопки мыши + удержание команды

Как мне использовать эту функцию?

1 Ответ

0 голосов
/ 05 марта 2012

Я думаю, это то, что вы ищете

If Windows.Forms.Cursor.Position = Button2.PointToScreen(New Point(Button2.Width / 2, Button2.Height / 2)) Then
        Timer1.Enabled = False
        Button2_MouseDown(New Button, New MouseEventArgs(MouseButtons.Left, 1, Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y, 0))
    End If


    If Windows.Forms.Cursor.Position.X <> Button2.PointToScreen(New Point(Button2.Width / 2, Button2.Height / 2)).X Then

        If Windows.Forms.Cursor.Position.X > Button2.PointToScreen(New Point(Button2.Width / 2, Button2.Height / 2)).X Then

            Windows.Forms.Cursor.Position = New Point(Windows.Forms.Cursor.Position.X - 1, Windows.Forms.Cursor.Position.Y)

        ElseIf Windows.Forms.Cursor.Position.X < Button2.PointToScreen(New Point(Button2.Width / 2, Button2.Height / 2)).X Then


            Windows.Forms.Cursor.Position = New Point(Windows.Forms.Cursor.Position.X + 1, Windows.Forms.Cursor.Position.Y)


        End If

    End If

    If Windows.Forms.Cursor.Position.Y <> Button2.PointToScreen(New Point(Button2.Width / 2, Button2.Height / 2)).Y Then

        If Windows.Forms.Cursor.Position.Y > Button2.PointToScreen(New Point(Button2.Width / 2, Button2.Height / 2)).Y Then

            Windows.Forms.Cursor.Position = New Point(Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y - 1)

        ElseIf Windows.Forms.Cursor.Position.Y < Button2.PointToScreen(New Point(Button2.Width / 2, Button2.Height / 2)).Y Then


            Windows.Forms.Cursor.Position = New Point(Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y + 1)


        End If

    End If

Публиковать здесь немного долго, поэтому я создал простой проект.

Пример программы Здесь

Полный источник Здесь

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