The following code snippet shows how you can drag a TabPage from TabControl1 and drop it into TabControl2 (whose AllowDrop property must be set to True):
[C#]
Source TabControl
private void tabControl1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.tabControl1.DoDragDrop(this.tabControl1.SelectedTab,DragDropEffects.All);
}
}
//Target TabControl
private void tabControl2_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
{
if(e.Data.GetDataPresent(typeof(TabPage)))
{
e.Effect = DragDropEffects.Move;
}
else
e.Effect = DragDropEffects.None;
}
private void tabControl2_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
TabPage DropTab = (TabPage)(e.Data.GetData (typeof(TabPage)));
this.tabControl2.TabPages.Add (DropTab);
}
[VB.NET]
’Source TabControl
Private Sub tabControl1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
If e.Button = MouseButtons.Left Then
Me.tabControl1.DoDragDrop(Me.tabControl1.SelectedTab,DragDropEffects.All)
End If
End Sub
’Target TabControl
Private Sub tabControl2_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs)
If e.Data.GetDataPresent(Type.GetType(TabPage)) Then
e.Effect = DragDropEffects.Move
Else
e.Effect = DragDropEffects.None
End If
End Sub
Private Sub tabControl2_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs)
Dim DropTab As TabPage = CType((e.Data.GetData(Type.GetType(TabPage))), TabPage)
Me.tabControl2.TabPages.Add (DropTab)
End Sub
Share with