zoukankan      html  css  js  c++  java
  • 浏览我的电脑

    利用TreeView控件和ImageList控件显示我的电脑的结构目录:我的电脑-驱动器-文件夹,程序运行结果如下图所示。

    20120408172354

    程序代码如下。

    using System;
    using System.IO;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    namespace eg30_useTreeView
    {
        public partial class FolderDialog : Form
        {
            public FolderDialog()
            {
                InitializeComponent();
            }
    
            private void ForderTree_AfterSelect(object sender, TreeViewEventArgs e)
            {
                if (e.Node.Text.ToString() != "我的电脑")
                    EnumDirectories(e.Node);
                else
                    EnumDrives(e.Node);
            }
            private void EnumDrives(TreeNode ParentNode)
            {
                if (ParentNode.Nodes.Count == 0)
                {
                    foreach (string drive in Directory.GetLogicalDrives())
                    {
                        FolderTree.SelectedNode = ParentNode;
                        TreeNode TempNode = new TreeNode();
                        TempNode.Text = drive.Substring(0, drive.Length - 1);
                        TempNode.Tag = drive;
                        TempNode.ImageIndex = 1;
                        TempNode.SelectedImageIndex = 1;
                        FolderTree.SelectedNode.Nodes.Add(TempNode);
                        FolderTree.SelectedNode.Nodes[FolderTree.SelectedNode.Nodes.Count - 1].EnsureVisible();
                    }
                }
            }
            private void EnumDirectories(TreeNode ParentNode)
            {
                FolderTree.SelectedNode = ParentNode;
                string DirectoryPath = ParentNode.Tag.ToString();
                if (ParentNode.Nodes.Count == 0)
                {
                    if (DirectoryPath.Substring(DirectoryPath.Length - 1) != @"\")
                        DirectoryPath += @"\";
                    try
                    {
                        foreach (string directory in Directory.GetDirectories(DirectoryPath))
                        {
                            TreeNode TempNode = new TreeNode();
                            TempNode.Text = directory.Substring(directory.LastIndexOf(@"\") + 1);
                            TempNode.Tag = directory;
                            TempNode.ImageIndex = 3;
                            TempNode.SelectedImageIndex = 2;
                            FolderTree.SelectedNode.Nodes.Add(TempNode);
                            FolderTree.SelectedNode.Nodes[FolderTree.SelectedNode.Nodes.Count - 1].EnsureVisible();
                        }
                    }
                    catch (Exception)
                    {
                    }
    
                }
            }
        }
    }
    作者:codee
    文章千古事,得失寸心知。


  • 相关阅读:
    七 、linux正则表达式
    六、通配符
    Codeforces1099D.Sum in the tree(贪心)
    叮,出现!
    Codeforces1056E.Check Transcription(枚举+Hash)
    2018.11.25 AMC-ICPC 亚洲区域赛(焦作站)吊银
    Gym101889J. Jumping frog(合数分解+环形dp预处理)
    Gym101889E. Enigma(bfs+数位)
    Gym101889B. Buggy ICPC(打表)
    Codeforces1076F. Summer Practice Report(贪心+动态规划)
  • 原文地址:https://www.cnblogs.com/bimgoo/p/2436296.html
Copyright © 2011-2022 走看看