参考:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=77912
全局代码:
'无边框移动控制---------------------------
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer,ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Integer) As Integer
Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2
Public Sub Panel_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs)
If e.Button=MouseButtons.Left Then
ReleaseCapture()
SendMessage(sender.Parent.Handle.ToInt32, WM_NCLBUTTONDOWN, HTCAPTION, 0)
End If
End Sub
窗口1,AfterLoad
AddHandler e.Form.Panel.MouseDown,AddressOf Panel_MouseDown
加载窗口1改改
......
Dim Name As String = "窗口1"
tab.TabPages.Add(name,name)
Dim pb = tab.BaseControl
Forms(Name).OPEN(10,10)
Forms(Name).BaseForm.TopLevel = False
Forms(Name).BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
'Forms(Name).BaseForm.Dock = System.Windows.Forms.DockStyle.Fill '这一句注释掉
PB.TabPages(name).Controls.Clear
PB.TabPages(name).Controls.add(Forms(Name).BaseForm)
tab.SelectedPage = tab.TabPages(name)
vars("父tab") = tab
......