【问题标题】:How do you send a Left-mouse button HOLD + DRAG in VB 2010?如何在 VB 2010 中发送鼠标左键 HOLD + DRAG?
【发布时间】:2012-03-04 18:49:14
【问题描述】:

我想在我的 Visual basic 2010 应用程序中创建一个函数:

  • 使用计时器滴答事件模拟鼠标左键单击并按住并拖动
  • 为鼠标设置新的 XY 坐标以将项目拖动到新位置
  • 删除鼠标左键单击+按住命令

我该如何实现这个功能?

【问题讨论】:

  • 您能否更具体地了解“模拟”和“删除鼠标左键单击+按住命令”?这些是自动化(无需用户交互)操作吗?

标签: .net vb.net winforms winapi


【解决方案1】:

我想这就是你要找的东西

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

在这里发帖有点长,所以我创建了一个简单的项目。

示例程序Here

完整源码Here

【讨论】:

    猜你喜欢
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 2014-10-15
    • 1970-01-01
    • 2010-10-18
    • 2010-09-27
    相关资源
    最近更新 更多