ツリービューでファイルリスト
        ツリービューにファイルリストを表示するサンプルプログラムです。フォルダまたはファイルがクリックされると、下部のテキストボックスにフルパスとファイル名を表示します。
         
 
        
        
[TOP]
1.「ファイル」→「新しいプロジェクト」→「WINDOWSアプリケーション」を選択。
        2.ツールボックスから「TreeView」、「TextBox」、「ImageList」を上図のように配置する。
        
        3.「ImageList」のプロバティから、「Images」という項目の右側にある「・・・」をクリックして、アイコンをセットする。「追加」ボタンから下記の順にアイコンファイルを3つセットする。
              0. ドライブのアイコン
              1.閉じたフォルダのアイコン
              2.開いたフォルダのアイコン
              3.ファイルのアイコン 
        4.「Form」のイベントから「Load」を、「TreeView」イベントから「BeforeExpand」と「NodeMouseClick」を、選択して、次のコード(黒文字部分)を入力する。
        
         
          using System.IO;
          namespace WindowsApplication1
            {
                public partial class Form1 : Form
                {
                    DirectoryInfo 
            di;
          <中略>
           private void Form1_Load(object sender, EventArgs e)
            {
                TreeNode tn;
                string[] dri = Environment.GetLogicalDrives();//ドライブ名を取得
                foreach (string d in dri)
                {
                    n = new TreeNode(d, 
            0, 0);//ノードにドライブアイコンを設定
                    treeView1.Nodes.Add(tn);//親ノードにドライブを設定
                    tn.Nodes.Add("...");//架空の枝を追加
                }
            }
           //ノードを展開しようとしているときに発生するイベント
            private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs 
            e)
            { 
                TreeNode tn = e.Node, tn2;
                string d = tn.FullPath;//展開するノードのフルパスを取得
                tn.Nodes.Clear();
                di = new DirectoryInfo(d);//ディレクトリ一覧を取得
                try
                {
                    foreach (DirectoryInfo 
            d2 in di.GetDirectories())
                    {
                        tn2 
            = new TreeNode(d2.Name, 1, 2);
                        tn.Nodes.Add(tn2);
                        tn2.Nodes.Add("...");
                    }
                    foreach (FileInfo 
            fi in di.GetFiles())
                    {
                        tn2 
            = new TreeNode(fi.Name, 3, 3);
                        tn.Nodes.Add(tn2);
                    }
                    }
                    catch { }
            }
           private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs 
            e)
            {
                textBox1.Text = e.Node.FullPath;
                textBox2.Text = e.Node.Text;
            }
         
		
        メソッドの上にマウスポインタをもってくると、ポップアップヒントが表示されます。またF1キーを押すと、ヘルプが立ち上がります。
        <解説>
          本プログラムでは、フォルダが展開されるごとに、その配下のフォルダとアイコンをノードに追加しています。
       
 
        ※当サイトは、リンクフリーです。