《.Net三層應(yīng)用結(jié)構(gòu)開發(fā)》第十三章ppt課件_第1頁
《.Net三層應(yīng)用結(jié)構(gòu)開發(fā)》第十三章ppt課件_第2頁
《.Net三層應(yīng)用結(jié)構(gòu)開發(fā)》第十三章ppt課件_第3頁
《.Net三層應(yīng)用結(jié)構(gòu)開發(fā)》第十三章ppt課件_第4頁
《.Net三層應(yīng)用結(jié)構(gòu)開發(fā)》第十三章ppt課件_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、.Net 第十三章第十三章目的目的掌握 ListView 控件掌握 TreeView 控件ListView 控件控件 2-1可折疊的 TreeViewListView選擇列出工程的視圖類型ListView 控件控件 2-2創(chuàng)建與 Windows 資源管理器的右窗口類似的用戶界面可用于以特定款式或視圖類型顯示列表項(xiàng)四種視圖方式,即大圖標(biāo)、小圖標(biāo)、列表和詳細(xì)資料ListView 控件的屬性和方法控件的屬性和方法ColumnsItemsSelectedItemsViewCheckBoxesCheckedItemsSelectedItemsFullRowSelectHoverSelectionGrid

2、LinesClear()GetItemAt()Sort()Column 集合和集合和 Column 對(duì)象對(duì)象ListView 控件的 Columns 屬性表示控件中出現(xiàn)的一切列標(biāo)題的集合列標(biāo)題是 ListView 控件中包含標(biāo)題文本的一個(gè)項(xiàng)ColumnHeader 對(duì)象定義在控件的 View 屬性設(shè)置為“Details值時(shí),作為 ListView 控件的一部分顯示的那些列 假設(shè) ListView 控件沒有沒有任何列標(biāo)題,并且 View 屬性設(shè)置為 Details,那么 ListView 控件不顯示任何項(xiàng)添加列標(biāo)題添加列標(biāo)題方法一:ColumnHeader objHeader=new Colum

3、nHeader(); objHeader.Text=姓名; objHeader.TextAlign=HorizontalAlignment.Center ; objHeader.Width=100; lvPerson.Columns.Add(objHeader);方法二:lvPerson.Columns.Add ( 姓名 , 60 , HorizontalAlignment.Right ) ;添加多個(gè)列應(yīng)該如何做?項(xiàng)集合和項(xiàng)對(duì)象項(xiàng)集合和項(xiàng)對(duì)象ListView 控件的 Items 屬性表示包含控件中一切項(xiàng)的集合 該屬性前往 ListView.ListViewItemCollection,可以用于

4、 ListView 中添加新項(xiàng)、刪除項(xiàng)或計(jì)算可用項(xiàng)數(shù) 添加記錄添加記錄ListViewItem lstItem = new ListViewItem (name, 圖片索引) ; lstItem.SubItems.Add ( “ ) ; /第1列l(wèi)stItem.SubItems.Add ( “ ) ; /第2列 lstItem.SubItems.Add ( “ ) ; /第n列l(wèi)vPerson.Items.Add(lstItem)實(shí)例化一個(gè)ListViewItem設(shè)置各列的數(shù)值將定義好的數(shù)值添加到ListView里面添加多行數(shù)據(jù)怎樣辦?TreeView 控件控件 2-1TreeView 控件控

5、件 2-2用于以節(jié)點(diǎn)方式顯示文本或數(shù)據(jù),這些節(jié)點(diǎn)按層次構(gòu)造順序陳列Windows 資源管理器中左窗格所包含的目錄和文件是以樹型視圖款式陳列的在 TreeView 控件中,復(fù)選框和圖標(biāo)可以和文本一同顯示節(jié)點(diǎn)集和節(jié)點(diǎn)對(duì)象節(jié)點(diǎn)集和節(jié)點(diǎn)對(duì)象TreeView 控件的 Nodes 屬性表示為 TreeView 控件指定的樹節(jié)點(diǎn)集 樹節(jié)點(diǎn)集中的每個(gè)樹節(jié)點(diǎn)對(duì)象可包括它本身的樹節(jié)點(diǎn)集樹節(jié)點(diǎn)集中 Add()、Remove() 和 RemoveAt() 方法使開發(fā)人員可添加和挪動(dòng)集中的單個(gè)樹節(jié)點(diǎn) 添加、修正和刪除節(jié)點(diǎn)添加、修正和刪除節(jié)點(diǎn) 3-1 TreeView 控件以層次構(gòu)造方式顯示節(jié)點(diǎn)在將新節(jié)點(diǎn)添加到現(xiàn)有 Tr

6、eeView 時(shí),重要的是留意新節(jié)點(diǎn)所添加到的父節(jié)點(diǎn)可用設(shè)計(jì)器方式或用戶界面在 TreeView 上添加或刪除節(jié)點(diǎn)添加、修正和刪除節(jié)點(diǎn)添加、修正和刪除節(jié)點(diǎn) 3-2在窗體上選擇已存在的 TreeView 控件或在窗體上添加一個(gè)新控件在“屬性窗口中單擊節(jié)點(diǎn)屬性旁的省略號(hào) () 按鈕,調(diào)用樹節(jié)點(diǎn)編輯器添加到樹的第一個(gè)節(jié)點(diǎn)是根節(jié)點(diǎn),其他節(jié)點(diǎn)可添加到存在根節(jié)點(diǎn)的樹上經(jīng)過選擇根節(jié)點(diǎn)或任何其他節(jié)點(diǎn),然后單擊“添加子級(jí)按鈕,可為樹添加子節(jié)點(diǎn)要運(yùn)用樹節(jié)點(diǎn)編輯器刪除節(jié)點(diǎn),請(qǐng)反復(fù)步驟 1 和 2。調(diào)用樹節(jié)點(diǎn)編輯器,然后選擇要?jiǎng)h除的節(jié)點(diǎn),單擊“刪除添加、修正和刪除節(jié)點(diǎn)添加、修正和刪除節(jié)點(diǎn) 3-3可經(jīng)過編程方式向 Tr

7、eeView 添加節(jié)點(diǎn)TreeNode chNode = new TreeNode(Text for new node);tvwTree1.currNode.Nodes.Add (chNode);可經(jīng)過編程方式從 TreeView 刪除節(jié)點(diǎn).tvwTree1.Nodes.Remove(tvwTree1.currNode);/ 去除一切節(jié)點(diǎn)tvwTree1.Nodes.Clear();假設(shè)沒有選定要?jiǎng)h除的節(jié)點(diǎn),那么會(huì)刪除根節(jié)點(diǎn)TreeView 控件的屬性和事件控件的屬性和事件AfterCheckAfterCollapseAfterExpandAfterSelectBeforeCheckBefor

8、eCollapseBeforeExpandBeforeSelectTreeView 控件名的前綴是 tvw如:tvwTree, tvwListIndentCheckBoxesHideSelectionSelectedNodeShowLinesShowPlusMinusShowRootLinesSortedHotTracking程序?qū)嵗绦驅(qū)嵗枨笮枨罅谐鑫募A的TreeView對(duì)TreeView的控制顯示節(jié)點(diǎn)的屬性添加盤符添加盤符private void FilltvwDirectory() string drives = Environment.GetLogicalDrives(); /獲取

9、當(dāng)前設(shè)備盤符,并添加到數(shù)組driversl里面 for (int i = 0; i drives.Length; i+) TreeNode cRoot = new TreeNode(drivesi); /這里可以寫成/TreeNode cRoot=new TreeNode();/cRoot.Text=driversi;tvwDirectory.Nodes.Add(cRoot);AddDirectories(cRoot);/添加該盤符下的文件夾 獲取盤符并添加到數(shù)組里面將該盤符添加到TreeView并調(diào)用AddDirectories()方法添加盤符下的文件夾添加下一級(jí)文件夾添加下一級(jí)文件夾pri

10、vate void AddDirectories(TreeNode node) try DirectoryInfo dir = new DirectoryInfo(GetPathFromNode(node); DirectoryInfo e = dir.GetDirectories(); for (int i = 0; i e.Length; i+) string name = ei.Name; if (!name.Equals(.) & !name.Equals(.) /判別能否是上級(jí)目錄 node.Nodes.Add(new TreeNode(name); catch (Exception

11、 e) MessageBox.Show(e.Message); 利用GetPathFromNode方法獲取當(dāng)前節(jié)點(diǎn)的途徑并找到他的下級(jí)文件夾,之后添加到DirectoryInfo數(shù)組內(nèi)假設(shè)文件夾不是前往上級(jí)目錄標(biāo)志那么添加到TreeView里面展開節(jié)點(diǎn)展開節(jié)點(diǎn)private void tvwDirectory_BeforeExpand(object source, TreeViewCancelEventArgs e) TreeNode nodeExpanding = (TreeNode)e.Node;AddSubDirectories(nodeExpanding);/調(diào)用AddDirector

12、ies將該節(jié)點(diǎn)的字節(jié)點(diǎn)添加到樹圖中該節(jié)點(diǎn)下private void AddSubDirectories(TreeNode node) for (int i = 0; i node.Nodes.Count; i+) AddDirectories(node.Nodesi);用戶點(diǎn)擊“+展開下一級(jí)目錄時(shí)調(diào)用此事件添加下級(jí)目錄排序節(jié)點(diǎn)排序節(jié)點(diǎn)private void chkOrder_Click(object source, EventArgs e) this.tvwDirectory.Sorted = chkOrder.Checked; /樹圖排序for (int i = 0; i 0) if (n

13、ode.IsExpanded) string tooBigExpandedNodes = new stringnode.GetNodeCount(true); int iExpandedNodes = Refresh_GetExpanded(node, tooBigExpandedNodes,0); string expandedNodes = new stringiExpandedNodes; Array.Copy(tooBigExpandedNodes, 0, expandedNodes, 0, iExpandedNodes);node.Nodes.Clear();AddDirectori

14、es(node);AddSubDirectories(TreeNode)node);node.Expand();for (int j = 0; j 0) Refresh_Expand(node.Nodesj, expandedNodes); else node.Nodes.Clear();AddDirectories(node); else node.Nodes.Clear(); AddDirectories(node); 獲取曾經(jīng)展開的節(jié)點(diǎn),并把它存放在數(shù)組中將當(dāng)前展開的節(jié)點(diǎn)添加到TreeView并展開它的子節(jié)點(diǎn)獲取展開節(jié)點(diǎn)獲取展開節(jié)點(diǎn)private int Refresh_GetExpan

15、ded(TreeNode Node, string ExpandedNodes, int StartIndex) if (StartIndex ExpandedNodes.Length) if (Node.IsExpanded) ExpandedNodesStartIndex = Node.Text;StartIndex+;for (int i = 0; i = 0; i-) if (ExpandedNodesi = Node.Text) AddSubDirectories(TreeNode) Node); Node.Expand(); for (int j = 0; j Node.Nodes.Count

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論