Version

DockChangeType Enumeration

Enumeration of changes that can occur when docking a window.
Syntax
'Declaration
 
Public Enum DockChangeType 
   Inherits System.Enum
public enum DockChangeType : System.Enum 
Members
MemberDescription
DisplayAsMdiChildrenA pane is displayed as an MDI child form. This is only available when the host Form is an MDI container.
FloatingWindowRepositionA floating dock area is being repositioned.
NewDockAreaA new dock area will be created
NewGroupA new group to parent the pane being dragged and the target pane will be created
NewSiblingPaneThe pane is being docked as a sibling of one or more panes.
SiblingPaneRepositionA child pane is being repositioned within its parent pane.
Example
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;

}
Requirements

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

See Also