日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

使用winform来递归实现资源管理器

發(fā)布時(shí)間:2023/11/29 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用winform来递归实现资源管理器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這里主要是對(duì)TreeView控件的學(xué)習(xí)

所使用到的方法:
string path=@"E:\歌詞";

//獲得指定文件夾下所有文件夾的名稱,這是帶路徑的,如:E:\歌詞\1111111

Directory.GetDirectories(path);

?

//獲得指定路徑下的文件的文件名,不帶路徑與后綴名 ,如:01 Welcome To New York

Path.GetFileNameWithoutExtension(FilePath[i])


//這是TreeNode節(jié)點(diǎn)的集合類
TreeNodeCollection


//TreeNode 節(jié)點(diǎn)可以New,可以設(shè)置text,與Tag屬性

TreeNode tn = new TreeNode(); tn.Text = filename; tn.Tag = Newfilepath[i];


//TreeView控件 有SelectedNode 獲取選中的節(jié)點(diǎn),與事件 tv_AfterSelect,選中節(jié)點(diǎn)發(fā)生改變之后所觸發(fā)

string path = tv.SelectedNode.Tag.ToString();

代碼:

//方法需傳入絕對(duì)路徑,以及Treeview的Name的Nodes屬性 private void GetNodeValue(string path, TreeNodeCollection tc){//加載選定文件夾下的文件的名字string[] FilePath = Directory.GetDirectories(path);//獲得文件的名字string filename = string.Empty;//獲得文件夾的名字for (int i = 0; i < FilePath.Length; i++){filename = Path.GetFileNameWithoutExtension(FilePath[i]);TreeNode tn = new TreeNode();tn.Text = filename;//在treeview節(jié)點(diǎn)下存下每個(gè)節(jié)點(diǎn)的路徑 tc.Add(tn);//這里遇到了遞歸,遇到文件夾,先進(jìn)入文件夾里面去遍歷,將大的tr,替換為小的tr GetNodeValue(FilePath[i],tn.Nodes);}//因?yàn)槟夸浢荒鼙稽c(diǎn)擊,獲得目錄下的文件//獲得文件夾下文件的名字,string[] Newfilepath = Directory.GetFiles(path);for (int i = 0; i < Newfilepath.Length; i++){filename = Path.GetFileNameWithoutExtension(Newfilepath[i]);TreeNode tn = new TreeNode();tn.Text = filename;//在treeview節(jié)點(diǎn)下存下每個(gè)節(jié)點(diǎn)的路徑tn.Tag = Newfilepath[i];tc.Add(tn);}}//然后是點(diǎn)擊事件,發(fā)生之后,將讀取路徑下的值,放進(jìn)textbox中private void tv_AfterSelect(object sender, TreeViewEventArgs e){try{string path = tv.SelectedNode.Tag.ToString();txtBox.Text = File.ReadAllText(path, Encoding.UTF8);}catch { }}

?

擴(kuò)展:

1、TreeView控件和TreeNode的常用成員

AfterSelect //單擊事件

TreeView.HideSelection?=?False;??//可讓選中節(jié)點(diǎn)保持高亮

Node?=?TreeView.SelectedNode; //已選中的當(dāng)前樹(shù)節(jié)點(diǎn)

string?I?=?treeView1.SelectedNode.Index.ToString()

???//當(dāng)前節(jié)點(diǎn)的索引值,由0開(kāi)始,只限于同父、同級(jí)的節(jié)點(diǎn)集合

treeView1.SelectedNode.Text?=?“String”; //設(shè)置當(dāng)前節(jié)點(diǎn)的文本

??string?String?=?treeView1.SelectedNode.Text;?//獲取當(dāng)前節(jié)點(diǎn)的文本

treeView1.SelectedNode.FullPath.ToString();

??//當(dāng)前節(jié)點(diǎn)的全路徑,從根節(jié)點(diǎn)開(kāi)始到當(dāng)前節(jié)點(diǎn),由節(jié)點(diǎn)的Text屬性加“\”連接而成的字符串,最后的節(jié)點(diǎn)后面沒(méi)有“\”

treeView1.SelectedNode.Tag;

??//當(dāng)前節(jié)點(diǎn)的其他信息,可以是各種類型,也可以是對(duì)象

treeView1.SelectedNode.Name:樹(shù)節(jié)點(diǎn)的名稱,也是(TreeNodes集合)TreeNodeCollection?中該節(jié)點(diǎn)的鍵(key)

treeView1.SelectedNode.Parent; //當(dāng)前樹(shù)節(jié)點(diǎn)的父樹(shù)節(jié)點(diǎn)。

treeView1.SelectedNode.Level; //樹(shù)視圖的深度(從零開(kāi)始)

2、在treeView控件中,成員Nodes其實(shí)就是一個(gè)TreeNode的集合,所以也可以使用TreeNodeCollection的成員:

?

TreeNodeCollection?類,TreeNodes集合類

treeView1.Nodes.Add(字符串);

??//以字符串為顯示文本添加節(jié)點(diǎn)到樹(shù)集合的末尾

treeView1.Nodes.Add(TreeNode);

??//將現(xiàn)有的樹(shù)節(jié)點(diǎn)添加到樹(shù)節(jié)點(diǎn)集合的末尾。

treeView1.Nodes.Add(String,?String):創(chuàng)建具有指定鍵和文本的新樹(shù)節(jié)點(diǎn),并將其添加到集合中。

treeView1.Nodes.Find(string?key,bool?searchAllChildren):查找具有指定鍵的樹(shù)節(jié)點(diǎn),可以選擇搜索子節(jié)點(diǎn),返回一個(gè)list[]。

轉(zhuǎn)載于:https://www.cnblogs.com/Raymond201508/p/4769653.html

總結(jié)

以上是生活随笔為你收集整理的使用winform来递归实现资源管理器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。