程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Visual C#構建網絡計算機樹形圖(4)

Visual C#構建網絡計算機樹形圖(4)

編輯:關於C語言

12. 在Form1.cs中的button1的Click代碼之後, 添加下列代碼,下列代碼的作用是定義treeVIEw1的DoubleClick事件,在此事件中讀取選定域或工作組中對應的計算機主機:

private void treeVIEw1_DoubleClick ( object sender , System.EventArgs e )
{
 if ( treeVIEw1.SelectedNode!= null )
 {
  string s =treeVIEw1.SelectedNode.Text ;
  treeVIEw1.SelectedNode.Nodes.Clear ( ) ;
  DirectoryEntry temp= new DirectoryEntry ( ) ;
  temp.Path ="WinNT://" + s ;
  TreeNode node = treeVIEw1.SelectedNode ;
  foreach ( DirectoryEntry pc in temp.Children )
  {
   if ( String.Compare ( pc.ScheMaclassName ,"computer" ,true ) == 0 )
   //判斷此節點是否為計算機
   {
    TreeNode son = new TreeNode ( ) ;
    son.Text = pc.Name ;
    node.Nodes.Add ( son ) ;
   }
  }
 }
 treeVIEw1.SelectedNode.Expand ( ) ;
 //展開treeVIEw1選中的節點
}

13. 至此在上述步驟都正確完成後,【Visual C#構建網絡計算機樹形圖】項目的全部工作就基本完成了。此時單擊快捷鍵F5運行程序,單擊【讀取】按鈕,則程序會讀取網絡中的域或工作組,並通過treeView1組件顯示出來,此時再雙擊treeVIEw1中的節點,則程序會讀取當前節點對應的域或工作組中的計算機,並顯示出來。圖02是【Visual C#構建網絡計算機樹形圖】項目的運行界面:

圖02:【Visual C#構建網絡計算機樹形圖】項目的運行界面

五.總結

Visual C#構建網絡計算機樹形圖其實是ADSI解決網絡問題的一個應用,Visual C#之所以能夠輕松、靈活的使用ADSI接口就是因為.Net FrameWork SDK中提供了可操作ADSI的類,靈活使用這些類庫的確能夠解決看似很煩雜的實際問題。當然本文介紹的網絡功能也存在一些弊端,譬如:網絡中的Windows 98及以下的計算機就無法訪問,從而也無法顯示在樹形圖中,這是因為Windows 98及以下計算機沒有安裝ADSI 2.5。並且此網絡功能只能構建簡單型的網絡樹形圖,如果網絡存在多個網段,那此網絡功能也只能構建運行此程序主機所在網段的樹形圖,如果此網絡還存在多個Vlan(虛擬子網),那此網絡功能也只能構建運行此程序主機所在網段及所在Vlan的網絡樹形圖。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved