单击面板时移动表单 vb.net
move form when panel is clicked vb.net
我有一个带 none 边框样式的 form1,我想在用户移动 panel1 时移动此表单。
在进行简单搜索后,我发现这个解决方案 C#
的情况相同
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.Location = new Point(Cursor.Position.X + e.X , Cursor.Position.Y + e.Y);
}
}
对于我的情况,我使用 vb.net,所以我尝试编写类似的代码但我失败了:
Private Sub Panel1_MouseMove(sender As Object, e As MouseEventArgs) Handles GunaPanel1.MouseMove
If e.Button = MouseButtons.Left Then
MainDashboard.Location = New Point(Cursor.Position.X + e.X, Cursor.Position.Y + e.Y)
End If
End Sub
这是解决方案:
MouseIsDown 和 MouseIsDownLoc 是模块级变量。
Private MouseIsDown As Boolean = False
Private MouseIsDownLoc As Point = Nothing
Private Sub Panel1_MouseMove(sender As Object, e As MouseEventArgs) Handles Panel1.MouseMove
If e.Button = MouseButtons.Left Then
If MouseIsDown = False Then
MouseIsDown = True
MouseIsDownLoc = New Point(e.X, e.Y)
End If
Me.Location = New Point(Me.Location.X + e.X - MouseIsDownLoc.X, Me.Location.Y + e.Y - MouseIsDownLoc.Y)
End If
End Sub
Private Sub Panel1_MouseUp(sender As Object, e As MouseEventArgs) Handles Panel1.MouseUp
MouseIsDown = False
End Sub
我有一个带 none 边框样式的 form1,我想在用户移动 panel1 时移动此表单。 在进行简单搜索后,我发现这个解决方案 C#
的情况相同private void panel1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.Location = new Point(Cursor.Position.X + e.X , Cursor.Position.Y + e.Y);
}
}
对于我的情况,我使用 vb.net,所以我尝试编写类似的代码但我失败了:
Private Sub Panel1_MouseMove(sender As Object, e As MouseEventArgs) Handles GunaPanel1.MouseMove
If e.Button = MouseButtons.Left Then
MainDashboard.Location = New Point(Cursor.Position.X + e.X, Cursor.Position.Y + e.Y)
End If
End Sub
这是解决方案: MouseIsDown 和 MouseIsDownLoc 是模块级变量。
Private MouseIsDown As Boolean = False
Private MouseIsDownLoc As Point = Nothing
Private Sub Panel1_MouseMove(sender As Object, e As MouseEventArgs) Handles Panel1.MouseMove
If e.Button = MouseButtons.Left Then
If MouseIsDown = False Then
MouseIsDown = True
MouseIsDownLoc = New Point(e.X, e.Y)
End If
Me.Location = New Point(Me.Location.X + e.X - MouseIsDownLoc.X, Me.Location.Y + e.Y - MouseIsDownLoc.Y)
End If
End Sub
Private Sub Panel1_MouseUp(sender As Object, e As MouseEventArgs) Handles Panel1.MouseUp
MouseIsDown = False
End Sub