可以做到,用treeview的expand方法。
創(chuàng)新互聯(lián)建站是少有的網(wǎng)站設計制作、成都做網(wǎng)站、營銷型企業(yè)網(wǎng)站、小程序定制開發(fā)、手機APP,開發(fā)、制作、設計、友情鏈接、推廣優(yōu)化一站式服務網(wǎng)絡公司,成立于2013年,堅持透明化,價格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評
把你現(xiàn)有代碼打包發(fā)來改下。
給你一個典型的?TreeView 控件操作程序,其實節(jié)點展開與關閉在控件上就可以操作,關鍵是控件屬性的設置:
右擊TreeView1,點擊屬性,打開屬性對話框:
設置圖中紅色標注的,其中圖像列表必須在界面添加?ImageList 控件,在 ImageList1?控件中設置圖片,圖片的大小設置為 ?16×16 ,添加圖片一般是ioc圖標,添加后在關鍵字中輸入圖片的識別名稱,這樣就可以了。
在界面的節(jié)點前有“+”、“-”操作,點擊它就可以展開或關閉。
給你的程序中已經(jīng)設置好了,你可以參考設置你的程序。
'控制樹狀選單自動調(diào)整寬度
Private Sub tvMenu_AfterExpand(sender As Object, e As TreeViewEventArgs) Handles tvMenu.AfterExpand, tvMenu.AfterCollapse
Dim iMaxWidth As Integer = 0
For Each tn As TreeNode In tvMenu.Nodes
Dim iCurPos As Integer = tn.Bounds.X
Dim iCurWidth As Integer = iCurPos + tn.Bounds.Width
If tn.IsExpanded Then
iCurWidth = GetTreeViewMaxWidth(tn)
End If
If iMaxWidth iCurWidth Then
iMaxWidth = iCurWidth
Me.gbMenu.Width = iCurPos + iMaxWidth
End If
Next
End Sub
'取得目前樹狀選單節(jié)點下展開的最大寬度
Private Function GetTreeViewMaxWidth(tn As TreeNode) As Integer
Dim iMaxWidth As Integer = 0
For Each tnItem As TreeNode In tn.Nodes
Dim iCurPos As Integer = tnItem.Bounds.X
Dim iCurWidth As Integer = iCurPos + tnItem.Bounds.Width
If tnItem.IsExpanded Then
iCurWidth = GetTreeViewMaxWidth(tnItem)
End If
If iMaxWidth iCurWidth Then
iMaxWidth = iCurWidth
End If
Next
Return iMaxWidth
End Function
'試試下面兩個屬性為真
treeview1.Nodes(index).Selected = True
treeview1.Nodes(index).EnsureVisible =True
Nodes 集合包含分配給 TreeView 控件的所有 TreeNode 對象。此集合中的樹節(jié)點稱作根樹節(jié)點。隨后添加到根樹節(jié)點上的任何樹節(jié)點稱作子節(jié)點。由于每個 TreeNode 都可以包含其他 TreeNode 對象的集合,您可能會在循環(huán)訪問集合時覺得很難確定自己在樹結構中的位置。您可以使用 PathSeparator 字符串值來分析 TreeNode.FullPath 字符串,以確定 TreeNode 標簽的起始和終止位置。
可以在樹節(jié)點旁顯示圖像,方法是將一個 ImageList 分配給 ImageList 屬性,然后通過引用 Image 在 ImageList 中的索引值來分配該 Image。使用下面的屬性分配圖像:
將 ImageIndex 屬性設置為當樹節(jié)點未選定時所顯示的 Image 的索引值。
將 SelectedImageIndex 屬性設置為當樹節(jié)點被選定時要顯示的 Image 的索引值。
ImageIndex 和 SelectedImageIndex 屬性值所引用的圖像是所有分配給 Nodes 集合的樹節(jié)點顯示的默認圖像。每個樹節(jié)點都可以通過設置 TreeNode.ImageIndex 和 TreeNode.SelectedImageIndex 屬性來取代默認的圖像。
樹節(jié)點可以展開,以顯示下一級子樹節(jié)點。用戶可以在 TreeNode 旁顯示加號 (+) 按鈕時通過單擊加號 (+) 按鈕來展開 TreeNode,或者可以通過調(diào)用 TreeNode.Expand 方法來展開 TreeNode。若要展開 Nodes 集合中的所有子樹節(jié)點級別,請調(diào)用 ExpandAll 方法。若要折疊子 TreeNode 級別,可以調(diào)用 TreeNode.Collapse 方法,也可以在 TreeNode 旁顯示減號 (-) 按鈕時按減號 (-) 按鈕。還可以通過調(diào)用 TreeNode.Toggle 方法在展開和折疊狀態(tài)之間切換。
樹節(jié)點可以選擇性地顯示復選框。若要顯示復選框,請將 TreeView 的 CheckBoxes 屬性設置為 true。對于處于選中狀態(tài)的樹節(jié)點,Checked 屬性設置為 true。
注意
從 BeforeCheck 或 AfterCheck 事件內(nèi)設置 TreeNode.Checked 屬性將導致該事件被多次引發(fā)并可能產(chǎn)生意外行為。例如,您可以在遞歸更新子節(jié)點時在事件處理程序中設置 Checked 屬性,以便用戶不必逐個展開并選中每個節(jié)點。如果未將 TreeViewEventArgs 的 Action 屬性設置為 TreeViewAction.Unknown,則若要防止該事件被多次引發(fā),需為僅執(zhí)行遞歸代碼的事件處理程序添加邏輯。有關如何進行此操作的示例,請參見 AfterCheck 或 BeforeCheck 事件的示例部分。
通過設置 TreeView 控件的一些顯示和樣式屬性,可以更改此控件的外觀。如果將 ShowPlusMinus 設置為 true,則會分別在每個可展開或折疊的 TreeNode 旁顯示加號或減號按鈕。如果將 ShowRootLines 屬性設置為 true,TreeView 則會顯示聯(lián)接所有根樹節(jié)點之間的連線。通過將 ShowLines 屬性設置為 true,可以顯示子樹節(jié)點與其根節(jié)點之間的連線。如果將 HotTracking 屬性設置為 true,那么當鼠標指針移過樹節(jié)點標簽時,樹節(jié)點標簽的外觀將發(fā)生變化。如果啟用熱跟蹤,樹節(jié)點標簽將具有超鏈接的外觀。也可以完全自定義 TreeView 控件的外觀。若要執(zhí)行此操作,請將 DrawMode 屬性設置為 TreeViewDrawMode.Normal 以外的值并處理 DrawNode 事件。
注意
在運行時設置 CheckBoxes、Scrollable、ImageIndex 和 SelectedImageIndex 屬性時,將重新創(chuàng)建 TreeView 句柄(請參見 Control.RecreateHandle)以更新控件的外觀。這將折疊除選定的 TreeNode 之外的所有樹節(jié)點。
下面的代碼示例闡釋了如何使用 TreeView 控件。
Private Sub InitializeTreeView()
treeView1.BeginUpdate()
treeView1.Nodes.Add("Parent")
treeView1.Nodes(0).Nodes.Add("Child 1")
treeView1.Nodes(0).Nodes.Add("Child 2")
treeView1.Nodes(0).Nodes(1).Nodes.Add("Grandchild")
treeView1.Nodes(0).Nodes(1).Nodes(0).Nodes.Add("Great Grandchild")
treeView1.EndUpdate()
End Sub
From MSDN
本文標題:vb.net選中節(jié)點展開的簡單介紹
文章起源:http://m.kartarina.com/article24/hddeje.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設、定制網(wǎng)站、Google、搜索引擎優(yōu)化、云服務器、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)