熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#中TreeView組件使用方法初步

2022-06-13   來源: .NET編程 

  三. C#編寫的一個完整操作TreeView組件的例子

  下面是C#編寫一個的關於TreeView組件的例子在這個例子中結合以上介紹的常用方法和一般方法基本覆蓋來TreeView組件的一些最常用的操作譬如可以靈活的程序中的TreeView組件中進行加入子節點兄弟節點刪除節點折疊展開等操作其中前三種基本操作是通過程序中彈出菜單中的功能來實現的後面操作是通過程序中的按鈕來實現的下面是此程序的代碼節略(TreeViewcs)

  using System ;
  using SystemDrawing ;
  using SystemCollections ;
  using SystemComponentModel ;
  using SystemWindowsForms ;
  using SystemData ;
  namespace 全面掌握TreeView組件的使用方法
  {
   /// Form 的摘要說明
   public class Form : Form
   {
    private TreeView treeView ;
    private Button button ;
    private Button button ;
    private Button button ;
    private MenuItem menuItem ;
    private MenuItem menuItem ;
    private MenuItem menuItem ;
    private ContextMenu contextMenu ;
    private TextBox textBox ;
    private Label label ;
    /// 必需的設計器變量
    private SystemComponentModelContainer components = null ;
    public Form ( )
    { 
     //初始化窗體中的組件
     InitializeComponent ( ) ;
    }
    /// 清理所有正在使用的資源
    protected override void Dispose ( bool disposing )
    {
     if ( disposing )
     {
      if ( components != null )
      {
       componentsDispose ( ) ;
      }
     }
     baseDispose ( disposing ) ;
    }
    private void InitializeComponent ( )
    {
     //初始化代碼(略)
    }
    [ STAThread ]
    static void Main ( )
    {
     ApplicationRun ( new Form ( ) ) ;
    }
    private void AddChildNode ( )
    {
     //首先判斷是否選定組件中的位置
     if ( treeViewSelectedNode == null )
     {
      MessageBoxShow ( 請選擇一個節點 提示信息 MessageBoxButtonsOK MessageBoxIconInformation ) ;
     }
     else
     {
      if ( textBoxText != )
      {
       //創建一個節點對象並初始化
       TreeNode tmp ;
       tmp = new TreeNode ( textBoxText ) ;
       //在TreeView組件中加入子節點
       treeViewSelectedNodeNodesAdd ( tmp ) ;
       treeViewSelectedNode = tmp ;
       treeViewExpandAll ( ) ;
      }
      else
      {
       MessageBoxShow ( TextBox組件必須填入節點名稱! 提示信息 MessageBoxButtonsOK MessageBoxIconInformation ) ;
       return ;
      }
     }
    }
    private void AddParent ( )
    {
     //首先判斷是否選定組件中節點的位置
     if ( treeViewSelectedNode == null )
     {
      MessageBoxShow ( 請選擇一個節點 提示信息 MessageBoxButtonsOK MessageBoxIconInformation ) ;
     }
     else
     {
      if ( textBoxText != )
      {
       //創建一個節點對象並初始化
       TreeNode tmp ;
       tmp = new TreeNode ( textBoxText ) ;
       //在TreeView組件中加入兄弟節點
       treeViewSelectedNodeParentNodesAdd ( tmp ) ;
       treeViewExpandAll ( ) ;
      }
      else
      {
       MessageBoxShow ( TextBox組件必須填入節點名稱! 提示信息 MessageBoxButtonsOK MessageBoxIconInformation ) ;
       return ;
      }
     }
     TreeNode tnode = new TreeNode ( textBoxText ) ;
    }
    private void treeView_MouseDown ( object sender MouseEventArgs e )
    {
     if ( eButton == MouseButtonsRight )
     contextMenuShow ( this new Point ( eX eY ) ) ;
    }
    private void button_Click ( object sender SystemEventArgs e )
    {
     treeViewSelectedNodeExpand ( ) ;
    }
    private void menuItem_Click ( object sender SystemEventArgs e )
    {
     AddChildNode ( ) ;
    }
    private void menuItem_Click ( object sender SystemEventArgs e )
    {
     AddParent ( ) ;
    }
    private void menuItem_Click ( object sender SystemEventArgs e )
    {
     //判斷選定的節點是否存在下一級節點
     if ( treeViewSelectedNodeNodesCount == )
     //刪除節點
     treeViewSelectedNodeRemove ( ) ;
     else
     MessageBoxShow ( 請先刪除此節點中的子節點! 提示信息 MessageBoxButtonsOK MessageBoxIconInformation ) ;
    }
    private void button_Click ( object sender SystemEventArgs e )
    {
     //定位根節點
     treeViewSelectedNode = treeViewNodes [ ] ;
     //展開組件中的所有節點
     treeViewSelectedNodeExpandAll ( ) ;
    }
    private void button_Click ( object sender SystemEventArgs e )
    {
     //定位根節點
     treeViewSelectedNode = treeViewNodes [ ] ;
     //折疊組件中所有節點
     treeViewSelectedNodeCollapse ( ) ;
    }
   }
  }

  在成功編譯TreeViewcs後運行的程序界面如下

C#編寫的操作TreeView組件的程序運行界面 

  四. 總結

  TreeView組件是一個既令程序員頭痛又令程序員難以割捨的組件這是因為TreeView組件使用非常靈活顯示內容有層次並且容量相對又比較大但同時在實際的編程比起其他組件又相對麻煩掌握了本文介紹的這些用C#操作TreeView組件的基本方法後我想對於在使用TreeView組件中的一般的問題應該都能夠克服了吧


From:http://tw.wingwit.com/Article/program/net/201311/14748.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.