This background - the background of the selected node. In the event BeforeLabelEdit I unsubscribe from AfterSelect, memorize the selected node and deselect nodes:
private TreeNode SelectedNodeBeforeEdit;
private void NodeTree_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e)
{
NodeTree.AfterSelect -= NodeTree_AfterSelect;
SelectedNodeBeforeEdit = NodeTree.SelectedNode;
NodeTree.SelectedNode = null;
}
In the event AfterLabelEdit I subscribe to AfterSelect and exhibit the selected node:
private void NodeTree_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
{
NodeTree.SelectedNode = SelectedNodeBeforeEdit;
NodeTree.AfterSelect += NodeTree_AfterSelect;
}