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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TreeView,TreeNode,TreeNodeCollection 的使用

發布時間:2023/12/18 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TreeView,TreeNode,TreeNodeCollection 的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘自:MSDN

1. TreeView

?????? TreeView 控件由節點組成。樹中的每一項稱為一個節點并由 TreeNode 對象表示。包含其他節點的節點稱為“父節點”。包含在其他節點中的節點稱為“子節點”。沒有任何子節點的節點稱為“葉節點”。不被任何其他節點包含并且是所有其他節點的上級節點的節點稱為“根節點”。一個節點可以同時是父節點和子節點,但是不能同時為根節點、父節點和葉節點。節點為根節點、父節點還是葉節點決定著節點的幾種可視化屬性和行為屬性。

典型的樹只有一個根節點,但 TreeView 控件允許您向樹結構中添加多個根節點。如果希望在顯示項列表的同時不顯示單個的主根節點(例如顯示產品類別列表),那么此功能將十分有用。

?????? 節點主要在兩個屬性中存儲數據:Text 屬性和 Value 屬性。在 TreeView 控件中顯示 Text 屬性的值,而 Value 屬性用于存儲有關節點的所有其他數據,如用于處理回發事件的數據。節點還在 ValuePath 屬性中存儲從該節點到其根節點的路徑。ValuePath 屬性指示節點相對于根節點的位置。

2. TreeNode

TreeNode 對象由以下四個用戶界面 (UI) 元素組成,可以自定義或隱藏這些元素:

  • 展開節點指示圖標,以表明節點是展開的、折疊的還是不可展開的。

  • 與節點關聯的可選復選框。

  • 可選的節點圖像。

  • 節點文本。

??????? 可以通過設置 TreeView 類的 ExpandImageUrl、CollapseImageUrl 和 NoExpandImageUrl 屬性,指定可展開、可折疊和不可展開的節點的自定義圖像。通過將 TreeView 類的 ShowExpandCollapse 屬性設置為 false,甚至可以完全隱藏展開節點的指示圖標。

??????? 若要在節點旁顯示復選框,請設置 TreeView 類的 ShowCheckBoxes 屬性。如果 ShowCheckBoxes 屬性設置為 TreeNodeType.Node 以外的一個值,將在指定的節點類型旁顯示復選框。通過設置節點的 ShowCheckBox 屬性,可以有選擇地重寫個別節點的復選框。如果顯示復選框,可使用 Checked 屬性確定復選框是否被選中。

???????? 通過設置 ImageUrl 屬性可以在節點中顯示圖像。此圖像顯示在節點文本旁。

????????? TreeView 控件中的節點文本可以處于兩種模式之一:選擇模式或導航模式。默認情況下,會有一個節點處于選定狀態。若要使一個節點處于導航模式,請將該節點的 NavigateUrl 屬性值設置為空字符串 ("") 以外的值。若要使節點處于選擇模式,請將節點的 NavigateUrl 屬性設置為空字符串。

??????? 默認情況下,單擊處于選擇模式的節點會將頁面回發到服務器并引發 SelectedNodeChanged 事件。也可以選擇設置節點的 SelectAction 屬性,指定引發其他事件。有關更多信息,請參見 SelectAction。若要確定哪個節點在被單擊時處于選擇模式,請使用 TreeView 控件的 SelectedNode 屬性。

?????? 當節點處于導航模式時,禁用該節點的所有選擇事件。單擊處于導航模式的節點時,用戶將被定向到指定的 URL。可以選擇設置 Target 屬性以指定用來顯示鏈接內容的窗口或框架。

??????? TreeNode 類包含一些用于存儲節點狀態的屬性。可使用 Selected 屬性確定節點是否被選定。若要確定節點是否已展開,請使用 Expanded 屬性。DataBound 屬性用于確定節點是否綁定到數據。當節點綁定到數據時,可以使用 DataItem 屬性訪問基礎數據項。

??????? 此類提供了一些屬性,有助于確定一個節點相對于樹中其他節點的位置。使用 Depth 屬性確定節點的深度。使用 ValuePath 屬性可以獲得從當前節點到其根節點的分隔節點列表。若要確定節點的父節點,請使用 Parent 屬性。使用 ChildNodes 集合訪問子節點。

?????? 有時,靜態地預定義樹結構并不可行,因為有時數據大小或自定義內容依用戶輸入而定。因此,TreeView 控件支持動態節點填充。在運行階段,可以在展開節點時填充該節點。有關動態節點填充的更多信息,請參見 PopulateOnDemand 屬性。

?????? 有關 TreeNode 的實例的初始屬性值列表,請參見 TreeNode 構造函數。

3. TreeNodeCollection

??????? TreeNodeCollection 類用于存儲和管理 TreeView 控件中的 TreeNode 對象的集合。TreeView 控件在其兩個屬性中使用 TreeNodeCollection 類。在 Nodes 屬性中存儲其根節點,在 CheckedNodes 屬性中存儲其選定的節點。TreeNodeCollection 集合也用于 ChildNodes 屬性來存儲子節點(如果有的話)。

???????? TreeNodeCollection 類支持多種訪問集合中的項的方法:

  • 使用 Item 索引器直接在特定的從零開始的索引處檢索 TreeNode 對象。

  • 使用 GetEnumerator 方法創建可用于循環訪問集合的枚舉數。

  • 使用 foreach (C#) 或 For Each (Visual Basic) 循環訪問集合。

  • 使用 CopyTo 方法將集合的內容復制到一個 Array 對象中。

???????? 可以通過添加和移除 TreeNode 對象以編程方式管理 TreeNodeCollection。若要在集合中添加節點,請使用 Add 或 AddAt 方法。若要從集合中移除節點,請使用 Remove、RemoveAt 或 Clear 方法。

4. Sample

??? 自動化測試情況下:

??? 先實例化treeview,然后

TreeNodeCollection treeNodeCollection = treeView.Nodes;

foreach(TreeNode treeNode in treeNodeCollection)

{

treeNode.select();

if(treeNode.text == "abcd")

{

Console.WriteLine("The node 'abcd' is found.");

具體處理;

break;

}

}

參考:http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.treeview_members(VS.80).aspx

總結

以上是生活随笔為你收集整理的TreeView,TreeNode,TreeNodeCollection 的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。