logo
VitNX3 Documentation

# VitNX_TreeView.CanMoveNodes Method

Namespace: VitNX.UI.ControlsV1.Controls
Assembly: VitNX3 (in VitNX3.dll)
VB
C#
F#
C++
JScript
Copy

    protected virtual bool CanMoveNodes(
       List<VitNX_TreeNode> dragNodes,
       VitNX_TreeNode dropNode,
       bool isMoving = false
    )

    This language is not supported or no code example is available.

#### Parameters

dragNodes
  List<VitNX_TreeNode>

dropNode
  VitNX_TreeNode

isMoving
  bool

#### Return Value

bool
Source code
VB
C#
F#
C++
JScript
Copy

    protected virtual bool CanMoveNodes(List<VitNX_TreeNode> dragNodes, VitNX_TreeNode dropNode, bool isMoving = false)
     {
         if (dropNode == null)
             return false;

         foreach (var node in dragNodes)
         {
             if (node == dropNode)
             {
                 if (isMoving)
                     VitNX_MessageBox.ShowError($"Cannot move {node.Text}. The destination folder is the same as the source folder.", Application.ProductName);

                 return false;
             }

             if (node.ParentNode != null && node.ParentNode == dropNode)
             {
                 if (isMoving)
                     VitNX_MessageBox.ShowError($"Cannot move {node.Text}. The destination folder is the same as the source folder.", Application.ProductName);

                 return false;
             }

             var parentNode = dropNode.ParentNode;
             while (parentNode != null)
             {
                 if (node == parentNode)
                 {
                     if (isMoving)
                         VitNX_MessageBox.ShowError($"Cannot move {node.Text}. The destination folder is a subfolder of the source folder.", Application.ProductName);

                     return false;
                 }

                 parentNode = parentNode.ParentNode;
             }
         }

         return true;
     }

    This language is not supported or no code example is available.

Applies to

#### .NET Framework

Supported in: 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8

#### .NET Core

Supported in: 5.0+, 6.0+
See Also
VitNX_TreeView Class
VitNX.UI.ControlsV1.Controls Namespace