一、添加和删除树节点
Ⅰ.添加节点、
使用TreeView控件Nodes属性的Add方法,可以向控件中添加节点。
语法:public virtual int Add(TreeNode node )
说明:node表示要添加到集合中的TreeNode。返回值表示添加到树节点集合中的TreeNode的从零开始的索引值。
例:创建一个Windows应用程序,使用TreeView控件Nodes属性的Add方法向控件中添加2个父节点,然后再使用Add方法分别向2个父节点中添加3个子节点。代码如下:
private void Form1_Load(object sender, EventArgs e) {
//为控件添加父节点
TreeNode tn1 = treeView1.Nodes.Add( "植物" );
TreeNode tn2 = treeView1.Nodes.Add( "动物" );
//建立3个子节点
TreeNode ntn1 = new TreeNode("四叶草");
TreeNode ntn2 = new TreeNode("枫树");
TreeNode ntn3 = new TreeNode("莲花");
//将以上的3个子节点添加到第一个父节点
tn1.Nodes.Add( ntn1 );
tn1.Nodes.Add( ntn2 );
tn1.Nodes.Add( ntn3 );
//再建立3个子节点
TreeNode stn1 = new TreeNode("老虎");
TreeNode stn2 = new TreeNode("豹子");
TreeNode stn3 = new TreeNode("狮子");
//将以上的3个子节点添加到第一个父节点
tn2.Nodes.Add(stn1);
tn2.Nodes.Add(stn2);
tn2.Nodes.Add(stn3);
}
Ⅱ.删除节点
使用TreeView控件Nodes属性的Remove方法可以从树节点集合中删除指定的树节点。
语法:public int Remove(TreeNode node )
说明:node表示要删除的TreeNode。
例:创建一个Windows应用程序,通过TreeView控件Nodes属性的Remove方法删除选中的子节点。代码如下:
private void Form1_Load(object sender, EventArgs e){
//为控件添加父节点
TreeNode tn1 = treeView1.Nodes.Add("文件");
//建立3个子节点
TreeNode ntn1 = new TreeNode("搜索");
TreeNode ntn2 = new TreeNode("游戏");
TreeNode ntn3 = new TreeNode("学习");
//将以上的3个子节点添加到第一个父节点
tn1.Nodes.Add(ntn1);
tn1.Nodes.Add(ntn2);
tn1.Nodes.Add(ntn3);
}
private void button1_Click(object sender, EventArgs e){
if (treeView1.SelectedNode.Text == "文件"){
MessageBox.Show("请选择要删除的子节点");
}
else {
treeView1.Nodes.Remove( treeView1.SelectedNode );
}
}
二、获取TreeView控件中选定的节点
可以在TreeView控件的AfterSelect事件中,使用EventArgs对象返回对已单击节点对象的引用。通过检查TreeViewEventArgs类(它包含与事件有关的数据),确定单击了哪个节点。
例:创建一个Windows应用程序,在控件的在AfterSelect事件中获取控件中选中节点显示的文本。代码如下:
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e){
label1.Text = "当前选中的节点:" + e.Node.Text;
}
三、为TreeView控件中的节点设置图标
设置TreeView控件的ImageList属性为想要使用的现有ImageList控件。这些属性可在设计器中使用“属性”窗口进行设置,也可在代码中设置。
例:创建一个Windows应用程序,向控件中添加1个父节点和3个子节点。设置TreeView控件的ImageList属性为imageList1,通过设置控件的ImageIndex属性实现正常状况下节点显示的图像的索引为0,然后设置控件的SelectedImageIndex属性,实现选中某个节点后显示的图像的索引为1。代码如下:
private void Form1_Load(object sender, EventArgs e){
//为控件添加父节点
TreeNode tn1 = treeView1.Nodes.Add("文件");
//建立3个子节点
TreeNode ntn1 = new TreeNode("搜索");
TreeNode ntn2 = new TreeNode("游戏");
TreeNode ntn3 = new TreeNode("学习");
//将以上的3个子节点添加到第一个父节点
tn1.Nodes.Add(ntn1);
tn1.Nodes.Add(ntn2);
tn1.Nodes.Add(ntn3);
//设置treeView1的ImageList属性为imageList1
treeView1.ImageList = imageList1;
imageList1.ImageSize = new Size(16,16);
treeView1.ImageIndex = 0; //设置treeView1控件节点的图标在imageList1控件中的索引为0
treeView1.SelectedImageIndex = 1; //选择某个节点后显示的图标在imageList1控件中的索引为1
}