//======================================================================================== // Add handlers //======================================================================================== #region Add handlers private void DoAddNewFolder(object sender, EventArgs e) { var dialog = new Dialogs.NewFolderDialog(); DialogResult result = dialog.ShowDialog(); if ((result == DialogResult.OK) && (dialog.FolderName != null)) { TreeNode parent = tree.SelectedNode; IProjectContainer container = (IProjectContainer)parent.Tag; if (!Directory.Exists(container.FolderPath)) { Directory.CreateDirectory(container.FolderPath); } var item = new DirectoryItem(container.FolderPath + "\\" + dialog.FolderName); int index = container.AddChild(item); TreeNode node = CreateNode(item); if (index < tree.SelectedNode.Nodes.Count) { parent.Nodes.Insert(index, node); } else { parent.Nodes.Add(node); } parent.Expand(); } }
private void DoAddNewFolder(object sender, EventArgs e) { using (var dialog = new Dialogs.NewFolderDialog()) { DialogResult result = dialog.ShowDialog(); if ((result == DialogResult.OK) && (dialog.FolderName != null)) { TreeNode parent = tree.SelectedNode; string path = (string)parent.Tag; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string dirpath = Path.Combine(path, dialog.FolderName); var node = new TreeNode( Path.GetFileNameWithoutExtension(dirpath), ClosedFolderIcon, ClosedFolderIcon); node.ContextMenuStrip = folderContextMenu; node.Tag = dirpath; // TODO: alphabetize parent.Nodes.Add(node); parent.Expand(); } } }