樓術(shù)描述項(xiàng):
(1).該項(xiàng)目中"我的電腦"是作者自定義的root節(jié)點(diǎn),沒(méi)有設(shè)定其路徑,所以BeforeExpand事件中會(huì)從它開(kāi)始依次遍歷,但"我的電腦"會(huì)提示"沒(méi)有指定路徑".故需要if(e.Tag.ToString() != "我的電腦")判斷.同時(shí)"我的文檔"需要再次獲取其路徑,依次實(shí)現(xiàn)Add子節(jié)點(diǎn);
(2).同時(shí)在"我的文檔"和盤(pán)符中需要添加tNode.Nodes.Add("")加載空節(jié)點(diǎn)形成+號(hào),如果沒(méi)有該+號(hào),BeforeExpend事件不會(huì)被調(diào)用,子目錄無(wú)法獲取加載,在BeforeExpand事件調(diào)用TreeViewItems.Add加載其子結(jié)點(diǎn)需要e.Nodes.Clear();清除該結(jié)點(diǎn)的子目錄再加載.
(3).提供兩篇類似文章供大家學(xué)習(xí),經(jīng)過(guò)對(duì)比可以發(fā)現(xiàn):第一篇僅從驅(qū)動(dòng)器(C盤(pán))開(kāi)始加載,所以BeforeExpend簡(jiǎn)單展開(kāi)子目錄即可,不需要判斷"我的電腦"和"我的文檔".第二篇含"桌面",因此需要判斷路徑:"C# TreeView磁盤(pán)文件,AfterSelect顯示加號(hào)-駱駝祥子" 和"Treeview樹(shù)狀顯示文件夾" .同時(shí)補(bǔ)充一篇很優(yōu)秀的文章供大家學(xué)習(xí)"WINFORM應(yīng)用:ListView做圖像瀏覽"
(4).補(bǔ)充TreeView(樹(shù)視圖)事件:更詳細(xì)見(jiàn)"c# 樹(shù)狀視圖(TreeView類)".
事件 描述
AfterCheck 在選中節(jié)點(diǎn)復(fù)選框后引發(fā)
AfterCollapse 在折疊一個(gè)節(jié)點(diǎn)后引發(fā)
AfterExpand 在擴(kuò)展一個(gè)節(jié)點(diǎn)后引發(fā)
AfterSelect 在選中一個(gè)節(jié)點(diǎn)后引發(fā)
BeforeCheck 在選中節(jié)點(diǎn)復(fù)選框之前引發(fā)
BeforeCollapse 在折疊一個(gè)節(jié)點(diǎn)之前引發(fā)
BeforeExpand 在擴(kuò)展一個(gè)節(jié)點(diǎn)之前引發(fā)
BeforeSelect 在選中一個(gè)節(jié)點(diǎn)之前引發(fā)
(5).補(bǔ)充兩個(gè)關(guān)于論壇討論"c#怎樣動(dòng)態(tài)讀取資源文件里的圖片"和"在C#中怎么調(diào)用Resources文件中的圖片"
(6).在《C#典型模塊與項(xiàng)目實(shí)戰(zhàn)大全》(清華大學(xué)出版社-丁士鋒)書(shū)中談到,出于對(duì)程序響應(yīng)性能考慮,它先加載盤(pán)符結(jié)點(diǎn),沒(méi)有使用遞歸一次性加載所有文件到樹(shù)狀列表中,代碼通過(guò)AfterSelect事件和FileSystemWatcher控件,監(jiān)聽(tīng)加載.并使用線程池Task更新加載TreeView,希望大家去學(xué)習(xí).
總結(jié)
該篇通過(guò)TreeView加載了磁盤(pán)目錄路徑,并通過(guò)ImageList加載圖標(biāo).那么怎樣實(shí)現(xiàn)閱讀文件夾下文件,獲取其圖標(biāo)、文件大小、擴(kuò)展名等信息,并雙擊打開(kāi)文件呢?下一篇將接著講述.最后希望該文章對(duì)大家有所幫助,文章中很多鏈接都可以供覺(jué)得有用的同學(xué)學(xué)習(xí),感謝上面提到的文章及書(shū)籍作者.同時(shí)如果文章中有錯(cuò)誤或不足之處請(qǐng)?jiān)?有問(wèn)題或建議者亦可提出.希望尊重作者勞動(dòng)果實(shí)勿噴.
標(biāo)簽:
目錄樹(shù)
自定義
上傳時(shí)間:
2016-08-15
上傳用戶:baobao9437