Event parameters used for the
UltraDockManager.BeforeDockChange event.
The following code demonstrates how to use some of the properties of the BeforeDockChangeEventArgs to prevent the user from repositioning or docking panes in specific areas.
For an overview of how to handle events in Visual Basic or Visual C#, see
Event Handlers in Visual Basic and Visual C#. For specific information and code examples illustrating how to consume events in your application, see
Consuming Events in the
.NET Framework Developer's Guide.
Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinDock
Private Sub ultraDockManager1_BeforeDockChange(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinDock.BeforeDockChangeEventArgs) Handles ultraDockManager1.BeforeDockChange
' The BeforeDockChange is invoked as a pane is dragged
' to allow you to determine whether a drop location is
' considered a valid drop point. Setting Cancel to
' true will indicate to the dock manager that the drop
' location is not valid. When this is done, the cursor
' is changed to the no cursor to indicate this to the user.
' If the mouse is released at that point, the drag is cancelled.
'
' Only allow sliding group items to be repositioned
' within the parent
If (e.ChangeType <> DockChangeType.SiblingPaneReposition AndAlso _
Not e.Pane.Parent Is Nothing AndAlso _
e.Pane.Parent.ChildPaneStyle = ChildPaneStyle.SlidingGroup) Then
e.Cancel = True
End If
' Any floating combination is allowed so just
' exit
If (e.NewDockedLocation = DockedLocation.Floating) Then
Return
End If
' Do not allow panes to be grouped together
If (e.ChangeType = DockChangeType.NewGroup OrElse _
e.ChangeType = DockChangeType.NewSiblingPane) Then
e.Cancel = True
End If
' Do not allow any new docking areas to be created
' on the form - only floating docking areas
If (e.ChangeType = DockChangeType.NewDockArea AndAlso _
e.NewDockedLocation <> DockedLocation.Floating) Then
e.Cancel = True
End If
End Sub
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinDock;
using System.Diagnostics;
private void ultraDockManager1_BeforeDockChange(object sender, Infragistics.Win.UltraWinDock.BeforeDockChangeEventArgs e)
{
// The BeforeDockChange is invoked as a pane is dragged
// to allow you to determine whether a drop location is
// considered a valid drop point. Setting Cancel to
// true will indicate to the dock manager that the drop
// location is not valid. When this is done, the cursor
// is changed to the no cursor to indicate this to the user.
// If the mouse is released at that point, the drag is cancelled.
//
// Only allow sliding group items to be repositioned
// within the parent
if (e.ChangeType != DockChangeType.SiblingPaneReposition &&
e.Pane.Parent != null &&
e.Pane.Parent.ChildPaneStyle == ChildPaneStyle.SlidingGroup)
e.Cancel = true;
// Any floating combination is allowed so just
// exit
if (e.NewDockedLocation == DockedLocation.Floating)
return;
// Do not allow panes to be grouped together
if (e.ChangeType == DockChangeType.NewGroup ||
e.ChangeType == DockChangeType.NewSiblingPane)
e.Cancel = true;
// Do not allow any new docking areas to be created
// on the form - only floating docking areas
if (e.ChangeType == DockChangeType.NewDockArea &&
e.NewDockedLocation != DockedLocation.Floating)
e.Cancel = true;
}
Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2