Category / Section
How to avoid tab selection in TabbedDockControl when dragging over mouse in unselected TabbedDockControl?
1 min read
Avoid the tab selection
Unselected TabbedDockControl gets selected when dragging and dropping any element from the TabbedDockControl. This can be avoided using SelectedIndexChanging event of the embedded TabControl of the TabbedDockControl.
C#
private void dockingManager1_NewDockStateEndLoad(object sender, EventArgs e) { Syncfusion.Windows.Forms.Tools.DockHost dhost = this.panel1.Parent as Syncfusion.Windows.Forms.Tools.DockHost; Syncfusion.Windows.Forms.Tools.DockHostController dhc = dhost.InternalController as Syncfusion.Windows.Forms.Tools.DockHostController; if (dhc.ParentController is Syncfusion.Windows.Forms.Tools.DockTabController) { Syncfusion.Windows.Forms.Tools.DockTabControl docktab = (dhc.ParentController as Syncfusion.Windows.Forms.Tools.DockTabController).TabControl; docktab.SelectedIndexChanging += new Syncfusion.Windows.Forms.Tools.SelectedIndexChangingEventHandler (docktab_SelectedIndexChanging); } } void docktab_SelectedIndexChanging(object sender, Syncfusion.Windows.Forms.Tools.SelectedIndexChangingEventArgs args) { if (flag ==false) { if (args.NewSelectedIndex == 0) { args.Cancel = true; } } }
VB
Private Sub dockingManager1_NewDockStateEndLoad(ByVal sender As Object, ByVal e As EventArgs) Handles dockingManager1.NewDockStateEndLoad Dim dhost As Syncfusion.Windows.Forms.Tools.DockHost = TryCast(Me.panel1.Parent, Syncfusion.Windows.Forms.Tools.DockHost) Dim dhc As Syncfusion.Windows.Forms.Tools.DockHostController = TryCast(dhost.InternalController, Syncfusion.Windows.Forms.Tools.DockHostController) If TypeOf dhc.ParentController Is Syncfusion.Windows.Forms.Tools.DockTabController Then Dim docktab As Syncfusion.Windows.Forms.Tools.DockTabControl = (TryCast(dhc.ParentController, Syncfusion.Windows.Forms.Tools.DockTabController)).TabControl AddHandler docktab.SelectedIndexChanging, AddressOf docktab_SelectedIndexChanging End If End Sub Private Sub docktab_SelectedIndexChanging(ByVal sender As Object, ByVal args As Syncfusion.Windows.Forms.Tools.SelectedIndexChangingEventArgs) If flag =False Then If args.NewSelectedIndex = 0 Then args.Cancel = True End If End If End Sub