VB treeview控制項應用

2021-04-14 00:39:48 字數 3447 閱讀 2680

相信很多程式設計愛好者都使用過網路螞蟻或 foxmail 軟體,其軟體執行主介面的左側有一顯示等級結構的樹狀外觀控制項,不僅美觀大方,而且非常方便使用。其實,在 vb 中利用 treeview 控制項很容易就能編寫出同樣效果的程式。

首先在 vb 中建立乙個新工程,單擊「工程/部件」,在控制項列表中選中「microsoft windows command controls6.0(sp4)」,按下「確定」按鈕返回主介面,在左側控制項窗體中選中 treeview 控制項置於窗體上,再放置乙個 imagelist 控制項、兩個 label 控制項、兩個textbox 控制項、六個 commandbutton 控制項,其屬性分別如下:

treeview 控制項:名稱 treeview1;

imagelist 控制項:名稱 imagelist1,並在該控制項中放置三張個性(32×32),建立索引1、2、3;(方法:在imagelist 控制項上單擊滑鼠右鍵選擇屬性)

label 控制項:名稱分別為lab(0)、lab(1),caption分別為「父節點:」、「子節點:」;

textbox 控制項:名稱分別為txt(0)、txt(1),text都為「」;

commandbutton 控制項:名稱為系統預設,caption分別為「新增」、「展開」、「收起」、「排序」、「刪除」、「退出」;

將下列**加入到**框:

option explicit

dim i as integer

dim j as integer

dim nodx as node

dim cunzai as boolean '定義變數

private sub command1_click()

if txt(0).text <> "" and txt(1).text <> "" then '不允許建立零位元組的父節點和子節點

cunzai = false

j = treeview1.nodes.count

for i = 1 to treeview1.nodes.count '檢查新輸入的父節點名稱是否存在

if treeview1.selecteditem.children > 0 then

if txt(0).text = treeview1.nodes(i).text then cunzai = true

end if

next i

if cunzai = true then '若存在, 則在父節點下建立子節點

set nodx = treeview1.nodes.add(txt(0).text, tvwchild, "child" & j,

txt(1).text, 3)

else ,若不存在,則建立父節點和子節點

set nodx = treeview1.nodes.add(, , txt(0).text, txt(0).text, 1)

set nodx = treeview1.nodes.add(txt(0).text, tvwchild, "child" & j,_

txt(1).text, 3)

end if

treeview1.refresh

elseif txt(0).text = "" then msgbox "請輸入父節點名稱!", vbinformation, "警告!"

'系統提示

elseif txt(1).text = "" then msgbox "請輸入子節點名稱!", vbinformation, "警告!"

end if

end sub

private sub command2_click()

for i = 1 to treeview1.nodes.count

treeview1.nodes(i).expanded = true '展開所有節點

next i

end sub

private sub command3_click()

for i = 1 to treeview1.nodes.count

treeview1.nodes(i).expanded = false '收起所有節點

next i

end sub

private sub command4_click()

treeview1.sorted = true '排列順序

end sub

private sub command5_click()

if treeview1.selecteditem.index <> 1 then

treeview1.nodes.remove treeview1.selecteditem.index '刪除選定的節點

end if

end sub

private sub command6_click()

end '退出程式

end sub

private sub form_load()

treeview1.linestyle =tvwtreelines '在兄弟節點和父節點之間顯示線

treeview1.imagelist = imagelist1 '鏈結影象列

treeview1.style = tvwtreelinesplu**inuspicturetext

'樹狀外觀包含全部元素

set nodx = treeview1.nodes.add(, , "蒲子明", "蒲子明", 1)

'建立名稱為"蒲子明"的父節點,選擇索引為1的影象

set nodx = treeview1.nodes.add("蒲子明", tvwchild, "child01", "收件箱", 3)

'在"蒲子明"父節點下建立"收件箱"子節點,選擇索引為3的影象

set nodx = treeview1.nodes.add("蒲子明", tvwchild, "child02", "發件箱", 3)

'在"蒲子明"父節點下建立"發件箱"子節點,選擇索引為3的影象

cunzai = false

end sub

private sub treeview1_expand(byval node as mscomctllib.node)

node.expandedimage = 2 '節點被展開時,選擇索引為2的影象

end sub

private sub treeview1_nodeclick(byval node as mscomctllib.node)

if treeview1.selecteditem.children = 0 then '檢查是否有子節點,0為無

for i = 1 to treeview1.nodes.count

if treeview1.nodes(i).selected then

msgbox "您選擇的是:「" & treeview1.nodes(i).fullpath & "」子節點!"

'系統提示

end if

next i

end if

end sub

MasterPage 控制項應用

masterpage其實是一種模板,它可以讓你快速的建立相同頁面布局而內部不同的網頁,如果乙個 有多個masterpage,那麼新建aspx檔案的時候就可以選擇需要實現頁面布局的masterpage。另外,在你沒有使用masterpage之前,如果n個相同的頁面布局需要改動成另外乙個樣式,那麼你就要...

CListCtrl控制項應用

常用操作 1 新增列標題頭 insertcolumn 2 獲取與設定列寬 getcolumnwidth setcolumnwidth 3 新增一行 insertitem setitemtext 4 獲取與設定單元文字 getitemtext setitemtext 5 允許多行選中時,獲取選中的行數...

GridControl控制項應用

gridcontrol控制項是dev express外掛程式帶的類似於c 內部winform控制項gridview控制項,內部必須新增gridview,同乙個control可以新增多個view datetable型別的資料,新增編號和名稱兩列,將伺服器中查詢到的內容新增到 中 gridcontrol...