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; } }
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); }