private void UpdateNodeLabel(TreeNode node) { if (node == null) { return; } clsProjectObject obj = node.Tag as clsProjectObject; if (obj == null) { return; } node.Name = obj.ToString(); if (!node.IsEditing) { if (node == nodeHover) { node.Text = obj.Name; } else { node.Text = obj.ToString(); } } }
private void TreeMain_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) { if (string.IsNullOrEmpty(e.Label)) { return; } clsProjectObject obj = e.Node.Tag as clsProjectObject; obj.Name = e.Label; e.Node.Text = obj.ToString(); treeMain.SelectedNode = null; }
public void UpdateProjectTree() { if (Project.ProjectObjects == null) { return; } List <clsProjectObject> aryObjsCurrent = new List <clsProjectObject>(); List <clsProjectObject> aryObjsToAdd = new List <clsProjectObject>(); List <TreeNode> aryNodesToRemove = new List <TreeNode>(); foreach (TreeNode N in treeMain.Nodes["nodeProject"].Nodes) { clsProjectObject obj = N.Tag as clsProjectObject; if (obj != null) { if (Project.ProjectObjects.Contains(obj)) { aryObjsCurrent.Add(obj); } else { aryNodesToRemove.Add(N); } } } foreach (clsProjectObject obj in Project.ProjectObjects) { if (!aryObjsCurrent.Contains(obj)) { aryObjsToAdd.Add(obj); } } foreach (TreeNode N in aryNodesToRemove) { N.Remove(); } foreach (clsProjectObject obj in aryObjsToAdd) { TreeNode newNode = new TreeNode(); newNode.ContextMenuStrip = menuProjectObject; newNode.Text = obj.ToString(); newNode.Tag = obj; treeMain.Nodes["nodeProject"].Nodes.Add(newNode); } }