コード例 #1
0
        /// <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);
                }
            }
        }