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
( ) ;
}
}
}
|