| 
using System ;using System.Drawing ;
 using System.Collections ;
 using System.ComponentModel ;
 using System.Windows.Forms ;
 using System.Data ;
 
 
 
namespace 全面掌握TreeView组件的使用方法{    ///
Form1 的摘要说明
 public class Form1 : Form
 {
 private
TreeView treeView1 ;
 private
Button button1 ;
 private
Button button2 ;
 private
Button button3 ;
 private
MenuItem menuItem2 ;
 private
MenuItem menuItem3 ;
 private
MenuItem menuItem4 ;
 private
ContextMenu contextMenu1 ;
 private
TextBox textBox1 ;
 private
Label label1 ;
 
 ///
必需的设计器变量
 private
System.ComponentModel.Container components = null ;
 public
Form1 ( )
 {   
//初始化窗体中的组件
 InitializeComponent
( ) ;
 }
 
 /// 清理所有正在使用的资源。
 
 protected
override void Dispose ( bool disposing )
 {
 
   
    if
( disposing ){
 if
( components != null )
 {
 components.Dispose
( ) ;
 }
 }
 base.Dispose
( disposing ) ;
 }
 
private void
InitializeComponent ( )
 {
 
   
    //初始化代码(略)}
 
 
 
[ STAThread ]static void
Main ( )
 {
 Application.Run
( new Form1 ( ) ) ;
 }
 
private void
AddChildNode ( )
 {   
//首先判断是否选定组件中的位置
 if
( treeView1.SelectedNode == null )
 {
 MessageBox.Show
( "请选择一个节点" , "提示信息" , MessageBoxButtons.OK , MessageBoxIcon.Information )
;
 }
 else
 {
 if
( textBox1.Text != "" )
 {   
//创建一个节点对象,并初始化
 TreeNode
tmp ;
 tmp
= new TreeNode ( textBox1.Text ) ;
 
 
 
   
            //在TreeView组件中加入子节点treeView1.SelectedNode.Nodes.Add
( tmp ) ;
 treeView1.SelectedNode
= tmp ;
 treeView1.ExpandAll
( ) ;
 }
 else
 {
 MessageBox.Show
( "TextBox组件必须填入节点名称!" , "提示信息" , MessageBoxButtons.OK , MessageBoxIcon.Information )
;
 return
;
 }
 }
 }
 
private void
AddParent ( )
 {   
//首先判断是否选定组件中节点的位置
 if
( treeView1.SelectedNode == null )
 {
 MessageBox.Show
( "请选择一个节点" , "提示信息" , MessageBoxButtons.OK , MessageBoxIcon.Information )
;
 }
 else
 {
 if
( textBox1.Text != "" )
 {   
//创建一个节点对象,并初始化
 TreeNode
tmp ;
 tmp
= new TreeNode ( textBox1.Text ) ;
 
  
   
                //在TreeView组件中加入兄弟节点treeView1.SelectedNode.Parent.Nodes.Add
( tmp ) ;
 treeView1.ExpandAll
( ) ;
 }
 else
 {
 MessageBox.Show
( "TextBox组件必须填入节点名称!" , "提示信息" , MessageBoxButtons.OK , MessageBoxIcon.Information )
;
 return
;
 }
 }
 TreeNode
tnode = new TreeNode ( textBox1.Text ) ;
 }
 
private void
treeView1_MouseDown ( object sender , MouseEventArgs e )
 {
 if
( e.Button == MouseButtons.Right )
 contextMenu1.Show
( this , new Point ( e.X , e.Y ) ) ;
 }
 
 
 
   
private void button1_Click ( object sender , System.EventArgs e
){
 treeView1.SelectedNode.Expand
( ) ;
 }
 
private void
menuItem2_Click ( object sender , System.EventArgs e )
 {
 AddChildNode
( ) ;
 }
 
private void
menuItem3_Click ( object sender , System.EventArgs e )
 {
 AddParent
( ) ;
 }
 
private void
menuItem4_Click ( object sender , System.EventArgs e )
 {   
//判断选定的节点是否存在下一级节点
 if
( treeView1.SelectedNode.Nodes.Count == 0 )
 {   
 //删除节点
 treeView1.SelectedNode.Remove
( ) ;
 }
 
   
    else{
 
   
        MessageBox.Show
( "请先删除此节点中的子节点!" , "提示信息" , MessageBoxButtons.OK , MessageBoxIcon.Information )
; 
   
    }}
 
 
 
   
private void button2_Click ( object sender , System.EventArgs e
){   
//定位根节点
 treeView1.SelectedNode
= treeView1.Nodes [ 0 ] ;
 
 //展开组件中的所有节点
 treeView1.SelectedNode.ExpandAll
( ) ;
 }
 
 
 
   
private void button3_Click ( object sender , System.EventArgs e
){   
//定位根节点
 treeView1.SelectedNode
= treeView1.Nodes [ 0 ] ;
 
 //折叠组件中所有节点
 treeView1.SelectedNode.Collapse
( ) ;
 }
 }
 }
 |