treeview元件是由多個類來定義的,treeview元件是由命名空間"system.windows.forms"中的"treeview"類來定義的,而其中的節點(即node),是由命名空間"system.windows.forms"中的"treenode"來定義的。 所以當在程式中建立乙個treeview物件,其實只是建立了乙個可以放置節點的"容器"。而在這個容器中加入乙個節點,其實就是加入了從"treenode"類中建立的乙個節點物件;同樣刪除乙個節點,也就是刪除乙個"treenode"節點物件。
一. 本文中介紹的程式設計及執行環境
(1).微軟視窗2000 伺服器版
(2)..net framework sdk 正式版
二. c#操作treeview元件中的一些常用方法以及具體實現:
treeview元件雖然是乙個操作起來比較麻煩的元件,但歸根到底,可以總結為三種基本操作:加入子節點、加入兄弟節點和刪除節點。掌握了這三種常用操作,對於在程式設計中靈活運用treeview元件是十分必要的。下面就分別來加以介紹。
(1).加入子節點:
所謂子節點,就是處於選定節點的下一級節點。加入子節點的具體過程是:首先要在treeview元件中定位要加入的子節點的位置,然後建立乙個節點物件,然後利用treeveiw類中對節點的加入方法(即:add ( )方法),加入此節點物件。下面就是在treeview1元件中加入乙個子節點的具體**:
//首先判斷是否選定元件中的位置
if ( treeview1.selectednode == null )
else
(2).加入兄弟節點:
所謂兄弟節點,就是在選定的節點的平級的節點。加入兄弟節點的方法和加入子節點的方法基本一致,只是在最後的實現方法上有著略微的區別。加入兄弟節點的具體步驟,首先也是要確定要加入的兄弟節點所處的位置,接著定義乙個節點物件,最後呼叫treeview類中對兄弟節點加入的方法,加入此節點物件。加入兄弟節點和加入子節點的最大區別就在於這最後一步。希望讀者能夠注意。下面是在treeview元件加入乙個兄弟節點的具體**:
//首先判斷是否選定元件中節點的位置
if ( treeview1.selectednode == null )
else
(3).刪除節點:
刪除節點就是刪除treeview元件中選定的節點,刪除節點可以是子節點,也可以是兄弟節點,但無論節點的性質如何,必須保證要刪除的節點沒有下一級節點,否則必須先刪除此節點中的所有下一級節點,然後再刪除此節點。刪除節點比起上面的二個操作要顯得略微簡單,具體方法是:首先判斷要刪除的節點是否存在下一級節點,如果不存在,就呼叫treeview類中的remove ( )方法,就可以刪除節點了。下面是刪除treeview元件中節點的具體**:
//判斷選定的節點是否存在下一級節點
if ( treeview1.selectednode.nodes.count == 0 )
//刪除節點
treeview1.selectednode.remove ( ) ;
else
messagebox.show ( "請先刪除此節點中的子節點!" , "提示資訊" , messageboxbuttons.ok , messageboxicon.information ) ;
(4).treeview元件的一些其他常用操作:
其他的一些常用操作比起上面的三種操作,在具體實現上要顯得簡單許多。這些常用操作無非是,展開所有節點,展開指定的節點、和摺疊所有節點。下面就來具體介紹一下:
< i > .展開所有節點:
要展開treeview元件中的所有節點,首先就要把選定的節點指標定位在treeview元件的根節點上,然後呼叫選定元件的expandall方法就可以了,下面是具體**:
//定位根節點
treeview1.selectednode = treeview1.nodes [ 0 ] ;
//展開元件中的所有節點
treeview1.selectednode.expandall ( ) ;
treeview1.selectednode.expand ( ) ;
< iii > .摺疊所有節點:
摺疊所有節點和展開所有節點是一組互操作,具體實現的思路也大致相同,摺疊所有節點也是首先要把選定的節點指標定位在根節點上,然後呼叫選定元件的collapse ( )就可以了,下面是具體的實現**:
//定位根節點
treeview1.selectednode = treeview1.nodes [ 0 ] ;
//摺疊元件中所有節點
treeview1.selectednode.collapse ( ) ;
至此已經把在c#操作treeview元件的常用方法和一般方法基本都介紹完了。
三. c#編寫的乙個完整操作treeview元件的例子:
下面是c#編寫乙個的關於treeview元件的例子,在這個例子中,結合以上介紹的常用方法和一般方法,基本覆蓋來treeview元件的一些最常用的操作。譬如可以靈活的程式中的treeview元件中,進行加入子節點、兄弟節點、刪除節點、摺疊、展開等操作。其中前三種基本操作是通過程式中彈出選單中的功能來實現的,後面操作是通過程式中的按鈕來實現的。下面是此程式的**節略(treeview.cs):
四. 總結:
treeview元件是乙個既令程式設計師頭痛,又令程式設計師難以割捨的元件。這是因為treeview元件使用非常靈活,顯示內容有層次,並且"容量"相對又比較大。但同時在實際的程式設計比起其他元件又相對麻煩。掌握了本文介紹的這些用c#操作treeview元件的基本方法後,我想對於在使用treeview元件中的一般的問題,應該都能夠克服了吧。
WPF中TreeView的使用
不管是在窗體程式開發還是在web應用程式開發中,大家都知道樹這個控制項,並且都稱為treeview,這個控制項將內容分層展示,使其更加形象和直觀!同時呢,treeview在很多專案中都有運用,甚至某些公司做自定義的屬性控制項,當然了,我在此就和大家一起分享一下wpf中系統預設的treeview控制項...
PB中TreeView控制項使用技巧
powerbuilder中的treeview 控制項為樹狀遊覽,類似於windows的資源管理器,其特點是資訊項呈樹狀層次結構,能更清晰地表現主 細目關係 操作非常方便。在應用中可將其與datawindow 配合使用,乙個提供資訊的分類體系,乙個提供具體資訊,達到珠連碧合的奇妙效果。它特別適用於多級...
PB中TreeView控制項使用技巧
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!powerbuilder中的treeview 控制項為樹狀遊覽,類似於windows的資源管理器,其特點是資訊項呈樹狀層次結構,能更清晰地表現主 細目關係 操作非常方便。在應用中可將其與datawindow 配合使用,乙個提供資訊的分類體系,乙個提...