Ejemplo n.º 1
0
        private void ShowContextMenu(TreeNodeMouseClickEventArgs e)
        {
            FileSystemNode fsnode = e.Node.Tag as FileSystemNode;

            if (fsnode != null)
            {
                ContextMenu menu = new ContextMenu();
                if (fsnode is Folder)
                {
                    Folder f = fsnode as Folder;
                    menu.MenuItems.Add(new MenuItem("Refresh", new EventHandler(delegate(object o, EventArgs ea) {
                        fsnode.ReloadChildren();
                        AppendChildren(e.Node, fsnode.GetChildren());
                    })));
                    menu.MenuItems.Add(new MenuItem("Save Folder...", new EventHandler(delegate(object o, EventArgs ea) {
                        SaveFileDialog saveFileDialog  = new SaveFileDialog();
                        saveFileDialog.Filter          = "Any Files|*.*";
                        saveFileDialog.Title           = "Select a Location";
                        saveFileDialog.FileName        = f.Name;
                        saveFileDialog.OverwritePrompt = true;

                        if (saveFileDialog.ShowDialog() == DialogResult.OK)
                        {
                            SaveFolder(f, saveFileDialog.FileName);
                        }
                    })));
                }
                if (fsnode is File)
                {
                    File f = fsnode as File;
                    menu.MenuItems.Add(new MenuItem("Save File...", new EventHandler(delegate(object o, EventArgs ea) {
                        SaveFileDialog saveFileDialog  = new SaveFileDialog();
                        saveFileDialog.Filter          = "Any Files|*.*";
                        saveFileDialog.Title           = "Select a Location";
                        saveFileDialog.FileName        = f.Name;
                        saveFileDialog.OverwritePrompt = true;

                        if (saveFileDialog.ShowDialog() == DialogResult.OK)
                        {
                            SaveFile(f, saveFileDialog.FileName);
                        }
                    })));
                }
                menu.Show(e.Node.TreeView, e.Location);
            }
        }