private void deleteNodeButton_Click(object sender, EventArgs e) { try { var selected = treeView1.SelectedNode; if (selected.Nodes.Count > 0) { MessageBox.Show($"Шаблон имеет подшаблоны. Сначала необходимо удалить подшаблоны.", "", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } var ids = selected.Name.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var node = new Entities.TreeNode { Id = Convert.ToInt32(ids[0]), epId = Convert.ToInt32(ids[1]) }; if (MessageBox.Show($"Удалить <{ selected.Text}>?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } _toDeleteNodes.Add(node); selected.Remove(); } catch (Exception ex) { MessageBox.Show("Нельзя удалить несохраненный шаблон! Сохраните или отмените сохранение шаблонов.", "Удаление шаблона", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
void AddNodes(TreeNodeCollection collection, Entities.TreeNode rootNode, List <Entities.TreeNode> ListTreeNodes) { var children = ListTreeNodes.Where(n => n.pId == rootNode.Id).OrderBy(r => r.Name).ToList(); foreach (var node in children) { var col = collection.Add($"{node.Id}", node.Name); AddNodes(col.Nodes, node, ListTreeNodes); ListTreeNodes.Remove(node); } ListTreeNodes.Remove(rootNode); }
void AddNodes(TreeNodeCollection collection, Entities.TreeNode rootNode, List <Entities.TreeNode> ListTreeNodes) { var children = ListTreeNodes.Where(n => n.pId == rootNode.Id).OrderBy(r => r.Name).ToList(); foreach (var node in children) { var newNode = new System.Windows.Forms.TreeNode { ToolTipText = node.Name, Name = $"{node.Id},{node.epId}", Text = node.Name }; var col = collection.Add(newNode /*$"{node.Id},{node.epId}", node.Name*/); AddNodes(newNode.Nodes /*collection*/, node, ListTreeNodes); ListTreeNodes.Remove(node); } ListTreeNodes.Remove(rootNode); }
private void addNodeButton_Click(object sender, EventArgs e) { try { string[] ids; if (treeView1.SelectedNode == null) { ids = treeView1.Nodes[0].Name.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); ids[0] = "0"; } else { ids = treeView1.SelectedNode.Name.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); } var newNode = new Entities.TreeNode { Name = _enteredEditText.Text, pId = Convert.ToInt32(ids[0]), epId = Convert.ToInt32(ids[1]) }; _toAddNodes.Add(newNode); if (newNode.pId == 0) { treeView1.Nodes.Add(_enteredEditText.Text); } else { treeView1.SelectedNode.Nodes.Add(_enteredEditText.Text); } } catch (Exception ex) { MessageBox.Show("Нельзя добавить к несохраненному объекту новый шаблон! Сохраните и продолжите.", "Добавление нового шаблона", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) { var selectedNode = treeView1.SelectedNode; if (selectedNode == null || e.Label == null) { return; } try { var ids = selectedNode.Name.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var editedNode = new Entities.TreeNode { Name = e.Label, Id = Convert.ToInt32(ids[0]) }; _toEditNodes.Add(editedNode); } catch (Exception ex) { MessageBox.Show("Нельзя изменить несохраненный шаблон!", "Изменение несохраненного шаблона", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }