Пример #1
0
        private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)  //Заполняем +1 уровень перед раскрытием ветки
        {
            try
            {
                foreach (TreeNode subnode in e.Node.Nodes)
                {
                    while (true)
                    {
                        try
                        {
                            GetPaths?.Invoke(subnode.FullPath);
                            while (true)
                            {
                                try
                                {
                                    bool flag = false;
                                    foreach (var item in DirectoriesNames)
                                    {
                                        if (subnode.Nodes.Count == 0)
                                        {
                                            flag = true;
                                        }
                                        if (flag)
                                        {
                                            var node = new TreeNode(item)
                                            {
                                                ImageIndex         = 2,
                                                SelectedImageIndex = 2
                                            };
                                            subnode.Nodes.Add(node);
                                        }
                                    }
                                }
                                catch { continue; }
                                break;
                            }
                        }
                        catch
                        {
                            // ignored
                        }

                        break;
                    }
                }
            }
            catch
            {
                // ignored
            }
        }
Пример #2
0
        private void InitTree()
        {
            GetDrives?.Invoke(this, EventArgs.Empty);
            foreach (var drive in Drives)
            {
                try//картинки на диски
                {
                    _treeNode = new TreeNode();
                    _treeNode = treeView1.Nodes.Add(drive.Key);

                    switch (drive.Value)
                    {
                    case "DriveType.Fixed":
                    case "DriveType.Network":
                        _treeNode.ImageIndex         = 1;
                        _treeNode.SelectedImageIndex = 1;
                        break;

                    case "DriveType.Removable":
                    case "DriveType.CDRom":
                        _treeNode.ImageIndex         = 0;
                        _treeNode.SelectedImageIndex = 0;
                        break;
                    }
                    GetPaths?.Invoke(drive.Key);
                    foreach (var item in DirectoriesNames)
                    {
                        TreeNode node = new TreeNode(item)
                        {
                            ImageIndex         = 2,
                            SelectedImageIndex = 2
                        };
                        _treeNode.Nodes.Add(node);
                    }
                }
                catch { }
            }
        }