Ejemplo n.º 1
0
        private void treeView_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
        {
            if (e.Label != null)
            {
                Regex alphaNumeric = new Regex("^[a-zA-Z0-9]*$");
                if (alphaNumeric.IsMatch(e.Label) == false)
                {
                    DialogResult result = MessageBox.Show(
                        "Invalid name given for node\r\n" +
                        "Use characters 'A-Z, a-z, or 0-9",
                        "Rename Node",
                        MessageBoxButtons.RetryCancel
                        );

                    e.CancelEdit = true;
                    if (result == DialogResult.Retry)
                    {
                        e.Node.BeginEdit();
                    }
                }
                else
                {
                    TOKNode tokNode = (TOKNode)e.Node.Tag;
                    tokNode.Name = String.Copy(e.Label);
                }
            }
            else
            {
                e.CancelEdit = true;
            }
        }
Ejemplo n.º 2
0
        private TreeNode makeTreeNode(TOKNode tokNode)
        {
            TreeNode treeNode = new TreeNode(tokNode.Name);

            treeNode.Tag = tokNode;

            if (tokNode.GetType() != typeof(TOKLeaf))
            {
                TOKBranch tokBranch = (TOKBranch)tokNode;
                foreach (TOKNode childTokNode in tokBranch.Nodes)
                {
                    TreeNode childTreeNode = makeTreeNode(childTokNode);
                    treeNode.Nodes.Add(childTreeNode);
                }
            }

            return(treeNode);
        }