windowsforms-devexpress-dot-xtratreelist-dot-treelist-13439eca.md
Fires when a node is about to be dropped, and allows you to cancel the operation.
Namespace : DevExpress.XtraTreeList
Assembly : DevExpress.XtraTreeList.v25.2.dll
NuGet Packages : DevExpress.Win.Navigation, DevExpress.Win.TreeList
[DXCategory("DragDrop")]
public event BeforeDropNodeEventHandler BeforeDropNode
<DXCategory("DragDrop")>
Public Event BeforeDropNode As BeforeDropNodeEventHandler
The BeforeDropNode event's data class is BeforeDropNodeEventArgs. The following properties provide information specific to this event:
| Property | Description |
|---|---|
| Cancel | Gets or sets a value that specifies whether to cancel the action. |
| DestinationIndex | Gets the position of the node among the child nodes of the parent node after drop. |
| DestinationNode | Gets a parent node that owns the dropped node. |
| IsCopy | Gets whether the user copied or moved a node. |
| SourceNode | Gets a node that the user is about to drop. |
TreeList control nodes can be moved using drag-and-drop operations if the TreeListOptionsDragAndDrop.DragNodesMode option (accessible through the TreeList.OptionsBehavior property) is set to Single or Multiple.
The BeforeDropNode event fires when a node is about to be dropped, and allows you to cancel the operation. The BeforeDropNodeEventArgs.SourceNode property allows you to determine the node being processed. To get the destination parent node, read the DestinationNode property.
Unlike the TreeList.BeforeDragNode event, which allows you to cancel a drag-and-drop operation when it starts, the BeforeDropNode event allows you to cancel the operation when the node being dragged is about to be dropped. The code snippet below shows how to prohibit dropping nodes onto parent nodes that correspond to a particular condition.
private void treeList1_BeforeDropNode(object sender, DevExpress.XtraTreeList.BeforeDropNodeEventArgs e){
if (e.DestinationNode.HasChildren == false) e.Cancel = true;
}
Private Sub treeList1_BeforeDropNode(sender As Object, e As DevExpress.XtraTreeList.BeforeDropNodeEventArgs)
If e.DestinationNode.HasChildren = False Then
e.Cancel = True
End If
End Sub
After the BeforeDropNode event is fired, the TreeList.AfterDropNode event fires.
See Also