Beispiel #1
0
        public MainForm()
        {
            InitializeComponent();

            Loader = CreateAsyncLoader();
            //Loader = CreateSyncLoader();

            // загрузка и инициализация дерева папок
            DirectoriesTree.Load();
            DirectoriesTree.AfterDirectorySelect += DirectoriesTree_AfterDirectorySelect;

            // добавление картинок в дереве
            ImageList treeImageList = new ImageList();

            treeImageList.Images.Add("folder-opened", LoadEmbeddedImage("ImageViewer.res.folder-opened.png"));
            treeImageList.Images.Add("folder-closed", LoadEmbeddedImage("ImageViewer.res.folder-closed.png"));
            DirectoriesTree.ImageList        = treeImageList;
            DirectoriesTree.ImageKey         = "folder-closed";
            DirectoriesTree.SelectedImageKey = "folder-opened";

            // инициализация окна просмотра содержимого папки
            Image defaultImageThumbnail = LoadEmbeddedImage("ImageViewer.res.image.png");
            Image folderThumbnail       = LoadEmbeddedImage("ImageViewer.res.folder.png");

            DirectoryView.InitializeComponent(Loader, defaultImageThumbnail, folderThumbnail);
            DirectoryView.ImageActivated  += DirectoryView_ImageActivated;
            DirectoryView.FolderActivated += DirectoryView_FolderActivated;
        }
Beispiel #2
0
        /// <summary>
        /// Обработчик выбора папки
        /// </summary>
        /// <param name="dirpath"></param>
        private void DirectoryView_FolderActivated(string dirpath)
        {
            DirectoryView.LoadDirectory(dirpath);

            // чтобы пользователю было легче ориентироваться, раскрываем путь к дереве
            DirectoriesTree.ExpandDirectory(dirpath);
        }
Beispiel #3
0
        private void OpenDirectory()
        {
            using var dialog = new FolderBrowserDialog();

            var dialogResult = dialog.ShowDialog();
            var path         = dialog.SelectedPath;

            if (dialogResult == DialogResult.OK &&
                !string.IsNullOrWhiteSpace(path) &&
                Directory.Exists(path))
            {
                DirectoriesTree.BeginUpdate();
                PopulateDirectoryInfo(path, DirectoriesTree.Nodes);
                DirectoriesTree.EndUpdate();
            }
        }