Пример #1
0
            public void CreateSubFoldersMenu(ToolStripMenuItem mainmenu, Link link, System.IO.DirectoryInfo dir)
            {
                if (!dir.Exists)
                {
                    return;
                }

                var subdirs = new System.IO.DirectoryInfo[0];

                if (link.ShowSubFolders)
                {
                    subdirs = dir.GetDirectories("*", System.IO.SearchOption.TopDirectoryOnly);
                }

                mainmenu.DropDownItems.Clear();
                if (link.ShowOpenFolder)
                {
                    mainmenu.DropDownItems.Add(new ToolStripMenuItem("Abrir Carpeta", Resources.Open_Folder_yellow.ToBitmap(), (sender, e) => {
                        Utils.Action.DoOpenFile(sender.GetTag <string>());
                    }).Do((m) => { m.Tag = dir.FullName; }));

                    mainmenu.DropDownItems.Add(new ToolStripSeparator());
                }

                foreach (var subdir in subdirs.OrderBy(p => p.FullName))
                {
                    var mSubdir = new ToolStripMenuItem();
                    mSubdir.Text             = subdir.Name;
                    mSubdir.Image            = Recursos.GetImage(link.Icon);
                    mSubdir.Tag              = link;
                    mSubdir.DropDownOpening += (sender, e) => { CreateSubFoldersMenu((ToolStripMenuItem)sender, sender.GetTag <Link>(), subdir); };

                    mainmenu.DropDownItems.Add(mSubdir);
                }

                AgregateFilesMenu(mainmenu, link.FolderFileFilter, dir);
            }