怎样移动另一个窗体?

jxyiyi 2006-10-04 08:57:16
我想编一个就是我移动Form1时,让Form2也跟着Form1一起移动
下面是我用的方法:
Public Frm2 As New Form2
Private mouse_offset As Point

Private Sub Frm1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove

If e.Button = MouseButtons.Left Or e.Button = MouseButtons.Right Then
Dim mousePos As Point = sender.findform().MousePosition

mousePos.Offset(-mouse_offset.X, -mouse_offset.Y)

Frm2.Location = mousePos
End If

End Sub

Private Sub Frm1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
mouse_offset = New Point(e.X, e.Y)
End Sub

怎么移动Form2都不动,请高手教教,谢谢
...全文
193 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hei__an 2006-10-09
  • 打赏
  • 举报
回复
NEW Point
GreatWall929 2006-10-08
  • 打赏
  • 举报
回复
二楼的可以~~
漫漫的试一下
踏平扶桑 2006-10-08
  • 打赏
  • 举报
回复
点我的帖子--管理 然后就可以给分了
jxyiyi 2006-10-07
  • 打赏
  • 举报
回复
这个怎么给分啊,我是第一次在这里发问,谢谢大家帮我把问题弄好了:)
固执的大叔 2006-10-06
  • 打赏
  • 举报
回复
迟到了...也顶下
tioncai 2006-10-05
  • 打赏
  • 举报
回复
我总结二位的代码,在VS.NET 2003的代码如下:

Public Form2 As New Form

Private Sub Form1_Move(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Move
With Form2
.Top = Me.Top
.Left = Me.Left + Me.Width
End With
End Sub

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Form2.Show()
End Sub
阿牛138588 2006-10-05
  • 打赏
  • 举报
回复
踏平扶桑 2006-10-04
  • 打赏
  • 举报
回复
VS.NET 2005下



Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Form2.Show()
End Sub


Private Sub Form1_Move(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Move
With Form2
.Top = Me.Top
.Left = Me.Left + Me.Width
End With
End Sub

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧