[英]Move form when panel is clicked and dragged
当我单击并按住我的面板元素(由于使用自定义GUI时,它作为窗口的顶部)时,我试图使表单移动(就像您在其他应用程序上移动窗口一样)。
无论如何,我设法使它移动,但是问题是,当我单击它时,窗体移动到了当前光标位置,而不是像常规窗口一样移动(因为它读取了光标的位置并将窗体的位置设置为该位置,因此无需移动)。
这是我的代码,如何使它正常工作?
Dim Moving As Boolean = False
Private Sub Panel1_MouseDown(sender As Object, e As MouseEventArgs) Handles Panel1.MouseDown
Moving = True
MouseMoveTimer.Start()
End Sub
Private Sub Panel1_MouseUp(sender As Object, e As MouseEventArgs) Handles Panel1.MouseUp
Moving = False
MouseMoveTimer.Stop()
End Sub
Private Sub MouseMoveTimer_Tick(sender As Object, e As EventArgs) Handles MouseMoveTimer.Tick
Me.Location = Cursor.Position
End Sub
新密码
Dim diff As Point = Cursor.Position - curpoint
Me.Location -= diff
curpoint = Cursor.Position
您可以在每个计时器刻度中保存光标的位置,并在下一个刻度中查看其变化量。 然后将该更改添加到窗体的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.