コード例 #1
0
        protected void UpdateNode(TreeNode treeNode, IManagedTreeNode node)
        {
            treeNode.Tag                = node;
            treeNode.Text               = node.TreeText;
            treeNode.ImageIndex         = node.TreeImageIndex;
            treeNode.SelectedImageIndex = node.TreeImageIndex;

            for (int i = 0; i < node.TreeChildren.Length; i++)
            {
                if (treeNode.Nodes.Count > i)
                {                // Update child.
                    UpdateNode(treeNode.Nodes[i], node.TreeChildren[i]);
                    continue;
                }

                // New child.
                TreeNode newChild = new TreeNode();
                node.TreeChildren[i].TreeModifiedEvent += new ModifiedDelegate(NodeModified);
                UpdateNode(newChild, node.TreeChildren[i]);
                treeNode.Nodes.Add(newChild);
            }

            for (int i = treeNode.Nodes.Count - 1; i >= node.TreeChildren.Length; i--)
            {
                treeNode.Nodes[i].Remove();
            }
        }
コード例 #2
0
        public void NodeModified(IManagedTreeNode node)
        {
            this.SuspendLayout();

            TreeNode treeNode = GetNodeByTag(Nodes, node);
            if ( treeNode != null )
            {
                UpdateNode(treeNode, node);
            }

            this.ExpandAll();
            this.ResumeLayout();
        }
コード例 #3
0
        public void NodeModified(IManagedTreeNode node)
        {
            this.SuspendLayout();

            TreeNode treeNode = GetNodeByTag(Nodes, node);

            if (treeNode != null)
            {
                UpdateNode(treeNode, node);
            }

            this.ExpandAll();
            this.ResumeLayout();
        }
コード例 #4
0
        protected void UpdateNode(TreeNode treeNode, IManagedTreeNode node)
        {
            treeNode.Tag = node;
            treeNode.Text = node.TreeText;
            treeNode.ImageIndex = node.TreeImageIndex;
            treeNode.SelectedImageIndex = node.TreeImageIndex;

            for(int i=0; i<node.TreeChildren.Length; i++)
            {
                if ( treeNode.Nodes.Count > i )
                {// Update child.
                    UpdateNode(treeNode.Nodes[i], node.TreeChildren[i]);
                    continue;
                }

                // New child.
                TreeNode newChild = new TreeNode();
                node.TreeChildren[i].TreeModifiedEvent += new ModifiedDelegate(NodeModified);
                UpdateNode(newChild, node.TreeChildren[i]);
                treeNode.Nodes.Add(newChild);
            }

            for(int i=treeNode.Nodes.Count-1; i>=node.TreeChildren.Length; i--)
            {
                treeNode.Nodes[i].Remove();
            }
        }