小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

TreeView 與listView實現(xiàn)資源管理器

 busfly 2007-02-10

TreeView 與listView實現(xiàn)資源管理器

分類:.net

環(huán)境.net2005,語言C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace winformT5
{
    public partial class Form2 : Form
    {
        bool boo = true;

        public Form2()
        {
            InitializeComponent();
        }

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {//首先加上目錄到treeview,再把目錄與文件加到listview里面
            if (e.Node.Text.ToString().Equals("我的電腦"))
            {
                treeView1.Nodes[0].Nodes.Clear();
                EnumDrivers(e.Node);
            }
            else
            {
                if (boo == false)
                { return; }
               
                int index = treeView1.SelectedNode.Index;
               // string drive=treeView1.Nodes[0].Nodes[index ].Text .ToString ();

                //MessageBox.Show(drive );
                 EnumDrivers2(e.Node );
            }
            if (!e.Node.Text.ToString().Equals("我的電腦"))
            {
                listView1.Clear();
                ShotToList(e.Node );
            }
        }
        private void EnumDrivers(TreeNode t)  //傳過來一個樹型節(jié)點
        {
         foreach (string driver in Directory.GetLogicalDrives())
         {
             TreeNode tn = new TreeNode();
             tn.Text = driver;//.Substring(0,2);
             tn.ImageIndex =1;  //寫上這句就有圖標,在節(jié)點上帶圖標
             treeView1.SelectedNode.Nodes.Add(tn);
           
             //MessageBox.Show (t.Nodes[ ].Text .ToString());
         }
        }
        private void EnumDrivers2(TreeNode t)
        {
           // MessageBox.Show(t.Text.ToString());
            foreach (string driver in Directory.GetDirectories (t.Text .ToString ()))
            {
                TreeNode tn = new TreeNode();
                tn.Text = driver;  //.Substring(0, 3);
                tn.ImageIndex = 2;  //寫上這句就有圖標,在節(jié)點上帶圖標
                treeView1.SelectedNode.Nodes.Add(tn);
                tn.Expand();
                //MessageBox.Show (t.Nodes[ ].Text .ToString());
            }
        }
        private void EnumDriversToListViewClick(string str)//當(dāng)listview雙擊時產(chǎn)生的事件
        {
            for (int i = 0; i < treeView1.SelectedNode.Nodes.Count; i++)
            {
               if(treeView1.SelectedNode.Nodes[i].Text.ToString().Equals( str))
                {
                    //MessageBox.Show("此文件假是" + treeView1.SelectedNode.Nodes[i].Text.ToString());
                  // treeView1.SelectedNode.Nodes[i].Nodes .Add

                    foreach (string driver in Directory.GetDirectories(treeView1.SelectedNode.Nodes[i].Text.ToString()))
                                {
                                    TreeNode tn = new TreeNode();
                                    tn.Text = driver;  //.Substring(0, 3);
                                    tn.ImageIndex = 2;  //寫上這句就有圖標,在節(jié)點上帶圖標
                                    treeView1.SelectedNode.Nodes[i].Nodes.Add(tn);
                                    //treeView1.SelectedNode.Nodes.Add(tn);
                                    tn.ExpandAll();
                                    //MessageBox.Show (t.Nodes[ ].Text .ToString());
                                   
                                }
                                boo = false;  //當(dāng)t等于false時,不執(zhí)行afterNode事件
                                treeView1.SelectedNode = treeView1.SelectedNode.Nodes[i];
                                boo = true;   //復(fù)位

                }
            }

          

            //string strname=str.Substring ( str.LastIndexOf(‘\\‘)+1,str.Length -str.LastIndexOf(‘\\‘)-1);  取文件名函數(shù)
            //MessageBox.Show("文件名是"+strname);
            //MessageBox.Show("此文件假數(shù)量" + treeView1.SelectedNode.Nodes.Count .ToString ());
          // MessageBox.Show("此文件假數(shù)量"+treeView1.SelectedNode.Nodes["C:\\homework"].Nodes.Count .ToString ());
          //  MessageBox.Show("此文件假數(shù)量" + treeView1.SelectedNode.Nodes[0].Text.ToString());
           // for (int i; i < treeView1.SelectedNode.Nodes.Count; i++) ;
            //foreach (string driver in Directory.GetDirectories(str))
            //{
            //    TreeNode tn = new TreeNode();
            //    tn.Text = driver;  //.Substring(0, 3);
            //    tn.ImageIndex = 2;  //寫上這句就有圖標,在節(jié)點上帶圖標
            //    treeView1.SelectedNode.Nodes.Add(tn);
            //    tn.Expand();
            //    MessageBox.Show (t.Nodes[ ].Text .ToString());
            //}
        }
        private void  ShotToList(TreeNode  t){
            foreach (String disname in Directory.GetDirectories(t.Text .ToString ()))//列出所有文件夾
            {
                listView1.Items.Add(disname,2);
            }
            foreach (String filename in Directory.GetFiles(t.Text.ToString())) //列出所有文件
            {
                listView1.Items.Add(filename,3);
            }
        }
        private void ShowToListFromListView(string str)  //當(dāng)listview雙擊時執(zhí)行,列出所有文件與文檔
        {
            listView1.Clear();
            foreach (String disname in Directory.GetDirectories(str))//列出所有文件夾
            {
                listView1.Items.Add(disname, 2);

            }
            foreach (String filename in Directory.GetFiles(str)) //列出所有文件
            {
                listView1.Items.Add(filename, 3);
            }
          

        }

        private void Form2_Load(object sender, EventArgs e)
        {

        }

        private void listView1_DoubleClick(object sender, EventArgs e)
        {
           //MessageBox.Show(listView1.SelectedItems[0].Text);
           String add = listView1.SelectedItems[0].Text;
           
            EnumDriversToListViewClick(add);
            this.ShowToListFromListView(add);
            //foreach (String disname in Directory.GetDirectories
            //treeView1.SelectedNode = tn;
        }

        private void 大圖標ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            listView1.View = View.LargeIcon;
        }

        private void 小圖標ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            listView1.View = View.SmallIcon;
        }

        private void 列表ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            listView1.View = View.List;
        }

        private void listView1_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
                contextMenuStrip1.Show();
        }

 

 

    }
}

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多