下载及安装参照:http://www.cnblogs.com/dragon/archive/2005/03/24/124771.html
测试:拖动标签、双击关闭标签
'关闭按钮触发 Private Sub TabController_ClosePressed(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabController.ClosePressed MsgBox("ClosePressed--" & TabController.SelectedTab.Name.ToString) End Sub 'Tab Drag and Drop Dim TabDragging As Boolean Private Sub TabController_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabController.MouseLeave If TabDragging = True Then 'Debug.Print("stop drag") TabDragging = False Me.Cursor = Cursors.Default End If End Sub Private Sub TabController_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TabController.MouseMove If e.Button = Windows.Forms.MouseButtons.Left Then 'Debug.Print("dragging") TabDragging = True Me.Cursor = Cursors.SizeWE ElseIf e.Button = Windows.Forms.MouseButtons.None Then If TabDragging = True Then 'Debug.Print("stop drag") TabDragging = False Me.Cursor = Cursors.Default End If End If End Sub Private Sub TabController_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TabController.MouseUp If e.Button = Windows.Forms.MouseButtons.Left Then If TabDragging = True Then Dim sourceTab As Crownwood.Magic.Controls.TabPage = TabController.SelectedTab Dim targetTab As Crownwood.Magic.Controls.TabPage = TabController.TabPageFromPoint(e.Location) Dim targetIndex As Integer = -1 For i = 0 To TabController.TabPages.Count - 1 If TabController.TabPages(i) Is targetTab Then targetIndex = i End If Next If sourceTab IsNot targetTab And targetIndex > -1 Then TabController.TabPages.Remove(sourceTab) TabController.TabPages.Insert(targetIndex, sourceTab) TabController.SelectedTab = sourceTab End If End If ElseIf e.Button = Windows.Forms.MouseButtons.Middle Then If TabDragging = False Then ' Tabs.Action.CloseActiveTab() End If End If End Sub '双击标签触发 Public Sub TabController_DoubleClickTab(ByVal sender As Crownwood.Magic.Controls.TabControl, ByVal page As Crownwood.Magic.Controls.TabPage) Handles TabController.DoubleClickTab MsgBox("DoubleClickTab--" & page.Name.ToString) End Sub