自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳談Winform中TreeView節(jié)點(diǎn)定位的實(shí)現(xiàn)方法

開(kāi)發(fā) 后端
本文將詳細(xì)談?wù)刉inform中TreeView節(jié)點(diǎn)定位的的另外一種方法TreeNode.FromHandle,希望本文能對(duì)大家有所幫助。

對(duì)于Winform中TreeView控件,很多人都不陌生,這也是使用頻度較高的一種空間。通過(guò)本文能對(duì)大家了解Winform有所幫助。

Winform里面的TreeView節(jié)點(diǎn)定位是一種常見(jiàn)的、功能強(qiáng)大的控件,一般的使用大家可能都是比較熟悉的了,估計(jì)我們大多數(shù)做TreeView節(jié)點(diǎn)定位的時(shí)候,一般都是采用循環(huán)查找的方法。如下面的方法所示

  1. foreach (TreeNode node in this.TreeView1.Nodes)  
  2.  {  
  3.     if (node.Text == "要找的節(jié)點(diǎn)名稱(chēng)")  
  4.     {  
  5.        return node;  
  6.     }  
  7.      return null;  
  8.  } 

另外還有一種方法是使用 TreeNode.FromHandle方法來(lái)快速定位節(jié)點(diǎn),為了說(shuō)明如何使用,我們假設(shè)有這么一個(gè)場(chǎng)景,有一個(gè)集團(tuán),集團(tuán)里面有很多公司,每個(gè)公司又有一些子公司,

我們需要在每個(gè)子公司下面增加一些設(shè)備節(jié)點(diǎn)或者人員節(jié)點(diǎn)。那我們應(yīng)該如何處理這些節(jié)點(diǎn)的顯示和定位呢?

首先我們?cè)谔砑蛹瘓F(tuán)這些公司及子公司節(jié)點(diǎn)的時(shí)候,分別記錄這些公司及子公司的樹(shù)節(jié)點(diǎn)信息,放到內(nèi)存列表中。代碼如下所示。

  1. TreeView treeView = this.TreeView1;  
  2.                         treeView.Nodes.Clear();  
  3.                         foreach (string key in groupList.Keys)  
  4.                         {  
  5.                             TreeNode node = treeView.Nodes.Add(key, key, 0);  
  6.                             if (!companyHandleDict.ContainsKey(key))  
  7.                             {  
  8.                                 companyHandleDict.Add(key, node.Handle);  
  9.                             }  
  10.                         }  
  11.  
  12.                         foreach (string key in groupList.Keys)  
  13.                         {  
  14.                             foreach (string subKey in groupList[key].Keys)  
  15.                             {  
  16.                                 TreeNode node = TreeNode.FromHandle(treeView, companyHandleDict[key]);  
  17.                                 if (node != null)  
  18.                                 {  
  19.                                     TreeNode tempNode = node.Nodes.Add(subKey, subKey, 0);  
  20.                                     if (!subCompanyHandleDict.ContainsKey(key + subKey))  
  21.                                     {  
  22.                                         subCompanyHandleDict.Add(key + subKey, tempNode.Handle);  
  23.                                     }  
  24.                                 }  
  25.                             }  
  26.                         } 

記錄了這些TreeNode的Handle之后,我們?nèi)绻谶@些節(jié)點(diǎn)上添加子節(jié)點(diǎn)的時(shí)候,就可以快速定位了。代碼如下所示。

  1. foreach (Taxi taxi in taxiDcit.Values)  
  2.                       {  
  3.                           string key = taxi.MyInfo.Corporation + taxi.MyInfo.Filialy;  
  4.                           TreeNode node = TreeNode.FromHandle(treeView, subCompanyHandleDict[key]);  
  5.                           if (node != null)  
  6.                           {  
  7.                               TreeNode subNode = new TreeNode(taxi.MyBrand, 1, 2);  
  8.                               subNode.Tag = "vehicle";  
  9.                               node.Nodes.Add(subNode);  
  10.                           }  
  11.  
  12.                       }   

以上只是一個(gè)小技巧處理節(jié)點(diǎn)的定位,希望對(duì)大家有幫助。

原文標(biāo)題:Winform 里面的TreeView節(jié)點(diǎn)定位的另外一種方法TreeNode.FromHandle

鏈接:http://www.cnblogs.com/wuhuacong/archive/2009/10/19/1585883.html

【編輯推薦】

  1. 詳解TripleDES實(shí)現(xiàn)C# 加密操作
  2. 淺析C# WinForm控件開(kāi)發(fā)前期準(zhǔn)備
  3. 詳解C# WinForm自定義控件的使用和調(diào)試
  4. C# Attribute的概念與使用淺析
  5. C# AttributeUsage的使用淺析
責(zé)任編輯:彭凡 來(lái)源: 博客園
相關(guān)推薦

2024-07-17 10:16:21

2010-04-06 09:44:40

CentOS系統(tǒng)

2009-10-10 14:54:44

treeView1控件

2010-07-27 15:09:31

2009-09-08 16:51:50

C#鼠標(biāo)拖動(dòng)

2009-09-17 08:47:00

Linq查詢(xún)

2009-12-25 10:01:23

WinForm程序

2011-04-18 17:03:59

動(dòng)態(tài)測(cè)試軟件測(cè)試

2009-08-25 16:42:51

TreeView控件

2009-07-27 13:01:28

TreeViewASP.NET

2009-11-05 09:01:41

WinForm

2009-04-01 16:26:06

LabelWinFormC#

2009-08-28 16:31:21

C# treeview

2009-12-07 11:11:41

WCF返回值

2010-06-13 09:15:16

WinForm窗體

2009-04-07 09:28:39

.NETWPF數(shù)據(jù)虛擬化

2010-09-10 09:51:05

DIVCSS

2013-12-09 15:50:20

2010-06-09 12:12:38

路由選擇協(xié)議RIPIGRP

2011-06-08 13:50:39

C#類(lèi)型轉(zhuǎn)換
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)