//創建XMLdocument
目前創新互聯建站已為上千家的企業提供了網站建設、域名、虛擬空間、網站托管、企業網站設計、太白網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
// 從XML文件中加載XML
doc.Load(XmlPath);
//為doc的根節點創建子節點nodeA(沒有添加到根節點上!)
System.Xml.XmlNode nodeA = doc.CreateNode(System.Xml.XmlNodeType.Element, "SAMPLE_ADD", "SAMPLEURI_ADD");
//為子節點nodeA設置屬性
nodeA.Value = "SAMPLE VALUE ADD";
//將nodeA添加為doc的子節點
doc.AppendChild(nodeA);
//為nodeA節點創建子節點nodeAA(沒有添加到nodeA節點上!)
System.Xml.XmlNode nodeAA = nodeA.CreateNode(System.Xml.XmlNodeType.Element, "SAMPLE_ADD2", "SAMPLEURI_ADD2");
//為子節點nodeAA設置屬性
nodeAA.Value = "SAMPLE VALUE ADD2";
//將nodeAA添加為nodeA的子節點
nodeA.AppendChild(nodeAA);
//遍歷nodeA下面的所有子節點
foreach (System.Xml.XmlNode node in nodeA.ChildNodes)
{
//處理這些節點
}
//刪除節點的做法是遍歷該節點然后吧符合條件的刪除掉
foreach (System.Xml.XmlNode node in doc.ChildNodes)
{
// 將節點從父上刪除
doc.RemoveChild(node);
}
預先準備三個圖標文件,用于樹型控件中顯示磁盤符號和文件夾的圖像之用。
1、窗體上添加控件如下:
組合框控件 ComboBox1,樹型控件 TreeView1,列表框控件 ListBox1,圖像列表控件 ImageList1。
選中TreeView1,設置其ImageList屬性為ImageList1。
2、設置屬性
選中圖像列表控件 ImageList1,在屬性窗口里,選中屬性Images,單擊三個小點按鈕,出現圖像集合編輯器窗口,單擊[添加按鈕],一一把準備好的圖標文件進行添加,注意先后次序,如果不符合要求可以通過上下移動按鈕重新改變次序。完成后單擊[確定]。
運行圖如下:
完整代碼如下:
Imports?System.IO
Public?Class?Form1
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
'添加系統所有磁盤目錄符號
For?Each?MyDrive?As?String?In?Environment.GetLogicalDrives()
ComboBox1.Items.Add(MyDrive)
Next
'顯示第一個磁盤符號
ComboBox1.Text?=?ComboBox1.Items(0)
End?Sub
'遞歸過程添加目錄樹
Public?Sub?AddDirectory(ByVal?strFatherPath?As?String,?ByVal?strPath?As?String,?ByVal?nodeFather?As?TreeNode)
Dim?i?As?Integer
Dim?Mynode?As?New?TreeNode
'先添加本目錄
Mynode.Text?=?Strings.Replace(strPath,?strFatherPath??"\",?"",?,?1)
'為節點指定未被選中時顯示的圖標
Mynode.ImageIndex?=?1
'為節點指定被選中時顯示的圖標
Mynode.SelectedImageIndex?=?2
nodeFather.Nodes.Add(Mynode)
Application.DoEvents()
Try
Dim?str()?As?String?=?Directory.GetDirectories(strPath)
'遞歸遍歷該目錄的子文件夾
For?i?=?0?To?str.GetUpperBound(0)
AddDirectory(strPath,?str(i),?Mynode)
Next
Catch?ex?As?Exception
Debug.WriteLine(ex.Message)
End?Try
Mynode?=?Nothing
End?Sub
'根據給出的盤符添加目錄樹
Private?Sub?AddRootDirectory(ByVal?DiscSymbol?As?String)
Dim?Nynode?As?New?TreeNode
'先把磁盤盤符添加到樹中
TreeView1.Nodes.Clear()
Nynode.ImageIndex?=?0
Nynode.Text?=?DiscSymbol
Nynode.SelectedImageIndex?=?-1
TreeView1.Nodes.Add(Nynode)
Dim?i?As?Integer
'獲取磁盤根目錄下的文件夾
Dim?str()?As?String?=?Directory.GetDirectories(DiscSymbol??"\")
For?i?=?0?To?str.GetUpperBound(0)
'調用遞歸過程遍歷該文件夾里的所有子文件夾,并添加到樹型控件
AddDirectory(DiscSymbol,?str(i),?Nynode)
Next
Nynode?=?Nothing
End?Sub
Private?Sub?ComboBox1_SelectedIndexChanged(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?ComboBox1.SelectedIndexChanged
'根據磁盤符號的變更,顯示根目錄里的文件
ListBox1.Items.Clear()
For?Each?MyFile?As?String?In?System.IO.Directory.GetFiles(ComboBox1.Text)
ListBox1.Items.Add(MyFile)
Next
'根據磁盤符號的變更,重新顯示目錄樹
Dim?DiscSymbol?As?String
DiscSymbol?=?Microsoft.VisualBasic.Left(ComboBox1.Text,?Len(ComboBox1.Text)?-?1)
Call?AddRootDirectory(DiscSymbol)
End?Sub
'遞歸過程根據子目錄尋找上級目錄名--從而構成完整的目錄路徑
Private?Sub?AllPath(ByVal?ThisNode?As?TreeNode,?ByRef?MyPathName?As?String)
If?ThisNode.Level??1?Then
'該節點層數大于1,其父節點不是磁盤根目錄
MyPathName?=?ThisNode.Parent.Text??"\"??MyPathName
Dim?MyNode?As?TreeNode?=?ThisNode.Parent
Call?AllPath(MyNode,?MyPathName)
Else
'該節點層數等于1,其父節點就是磁盤根目錄
MyPathName?=?ComboBox1.Text??MyPathName
End?If
End?Sub
Private?Sub?TreeView1_AfterSelect(ByVal?sender?As?System.Object,?ByVal?e?As?System.Windows.Forms.TreeViewEventArgs)?Handles?TreeView1.AfterSelect
'為了搜索選中的節點對應目錄的文件,需要組成全路徑
Dim?MyAllPathName?As?String?=?TreeView1.SelectedNode.Text
Dim?MyNode?As?TreeNode?=?TreeView1.SelectedNode
If?TreeView1.SelectedNode.Level?=?0?Then
'如果選中的是根節點
MyAllPathName?=?ComboBox1.Text
Else
'如果選中的是非根節點,調用遞歸過程組成全路徑
Call?AllPath(MyNode,?MyAllPathName)
MyAllPathName?=?MyAllPathName??"\"
End?If
'根據路徑,搜索文件名并顯示
ListBox1.Items.Clear()
For?Each?MyFile?As?String?In?System.IO.Directory.GetFiles(MyAllPathName)
ListBox1.Items.Add(MyFile)
Next
End?Sub
End?Class
你說的“樹形菜單”是指下拉菜單(可以有子菜單)嗎?如果是,VB.net提供了MenuStrip控件,在工具箱里能找到,直接就在對應位置打字就可以了,完全是“所見即所得”。
網站標題:包含vb.net做文件樹的詞條
網頁路徑:http://www.yijiale78.com/article0/dodcoio.html
成都網站建設公司_創新互聯,為您提供ChatGPT、網站策劃、網站設計、移動網站建設、微信公眾號、手機網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯