ciao
Allora, se non sbaglio l'evento DragLeave viene generato quando, mentre Drag&Droppi, il mouse lascia il controllo (quindi la treeview, non il nodo). Perciò è impossibile ottenere il nodo nel quale effettui il drop dall'evento DragLeave, in quanto questo nodo non esiste.
Se hai bisogno di conoscere il nodo sul quale viene conclusa l'azione di drag&drop devi utilizzare il metodo GetNodeAt nell'evento DragDrop; invece è presente l'evento DragOver che viene generato quando l'oggetto viene mosso all'interno dei limiti della treeview.
Quindi se tu hai bisogno di rilasciare il nodo "nome" in "presone", "persone" lo ottieni nell'evento DragDrop della treeview:
private void tuaTreeView_DragDrop(object sender, DragEventArgs e)
{
TreeNode persone = tuaTreeView.GetNodeAt(tuaTreeView.PointToClient(new Point(e.X, e.Y)));
TreeNode nome = (TreeNode)e.Data.GetData(typeof(TreeNode));
}
Luca