Rearrangeable TreeView for Windows Forms.
Install OTreeView using Package Manager with the Install-Package OTreeView
command or get it from the NuGet.org.
// Use OTreeView control instead of regular TreeView
treeView.CanHaveChildren += (node) => node?.Text.StartsWith("Node") ?? false;
for (int i = 0; i < 5; i++) {
var node = new TreeNode() { Text = $"Node {i}" };
node.Nodes.Add(new TreeNode() { Text = $"Leaf {i}" });
treeView.Nodes.Add(node);
}