Я требую, чтобы у пользователя была возможность щелкать мышью, чтобы добавлять новые узлы в Treeview. Если пользователь щелкает узел в дереве, новый узел добавляется как дочерний узел выбранного узла. Если пользователь щелкнет пустое место под конечным узлом дерева, в дерево будет добавлен новый RootNode. Я использую событие MouseUp, чтобы определить, был ли щелчок по узлу дерева или по пустому пространству под последним узлом.
Код: Выделить всё
TreeNode clickedNode = treeView1.GetNodeAt(e.X, e.Y);
if (clickedNode != null)
{
// User clicked node
clickedNode.Nodes.Add("New ChildNode");
}
else
{
// User clicked background
treeView1.Nodes.Insert(0, "New RootNode");
}

Та же проблема возникает, если я использую перетаскивание для перемещения узлов. Как только новые добавленные узлы достигают нижней части дерева (и появляются полосы прокрутки), я не могу перетаскивать дочерние узлы из дерева, чтобы они стали корневыми узлами.
Если это возможно, достаточно пустой строки внизу TreeView.