/// <summary> /// 刷新 树形控件 /// </summary> /// <param name="tree">null:全部刷新,node 刷新改节点下的控件</param> /// <param name="node">父节点</param> private void SetTree(TreeNode tree, NodeParam node) { if (tree == null) { this.programTree.Nodes.Clear(); this.programTree.Nodes.Add(new TreeNode()); this.programTree.Nodes[0].ContextMenu = node.Menu(this); this.programTree.Nodes[0].Tag = node; this.programTree.Nodes[0].Text = node.Text(); foreach (NodeParam param in node.Nodes) { SetTree(this.programTree.Nodes[0], param); } } else { TreeNode tNode = new TreeNode(node.Text()); tNode.Tag = node; tNode.ContextMenu = node.Menu(this); tNode.Text = node.Text(); tree.Nodes.Add(tNode); foreach (NodeParam param in node.Nodes) { SetTree(tNode, param); } } }