如何使用TreeView控件
我们先把截面画好,
拽一个TreeView控件 和其他的 基本控件 就构成了 上图的 界面
然后 我们再拽个ImageList 在里面添加几个 图标
将 TreeView 属性中的 ImageList 关联到 刚刚拽的ImageList
然后再再 Nodes 属性中添加节点
基本搞定 再来看下 那几个按钮的 事件处理代码
private void treeView1_AfterExpand(object sender, System.Windows.Forms.TreeViewEventArgs e)
{//处理节点展开事件
e.Node.ImageIndex=1;
e.Node.SelectedImageIndex=1;
}
private void treeView1_AfterCollapse(object sender, System.Windows.Forms.TreeViewEventArgs e)
{//处理节点收缩事件
e.Node.ImageIndex=0;
e.Node.SelectedImageIndex=0;
}
private void button1_Click(object sender, System.EventArgs e)
{//添加根节点
TreeNode newNode=new TreeNode(this.textBox1.Text,0,0);
this.treeView1.Nodes.Add(newNode);
this.treeView1.Select();
}
private void button2_Click(object sender, System.EventArgs e)
{//添加子节点
TreeNode selectedNode=this.treeView1.SelectedNode;
if(selectedNode==null)
{
MessageBox.Show(this,"添加子节点之前必须先选中一个根节点。","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
TreeNode newNode=new TreeNode(this.textBox1.Text,1,1);
selectedNode.Nodes.Add(newNode);
selectedNode.SelectedImageIndex=1;
selectedNode.Expand();
this.treeView1.Select();
}
private void button3_Click(object sender, System.EventArgs e)
{//删除选定的节点
TreeNode selectedNode=this.treeView1.SelectedNode;
if(selectedNode==null)
{
MessageBox.Show(this,"删除节点之前必须先选中一个节点。","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return;
}
TreeNode parentNode=selectedNode.Parent;
if(parentNode==null)
{
this.treeView1.Nodes.Remove(selectedNode);
}
else
{
parentNode.Nodes.Remove(selectedNode);
if(parentNode.Nodes.Count==0)
{
parentNode.ImageIndex=1;
parentNode.SelectedImageIndex=1;
}
}
this.treeView1.Select();
}
private void Form1_Load(object sender, System.EventArgs e)
{//初始化示例节点
TreeNode RootNode=new TreeNode("中华人民共和国",0,0);
this.treeView1.Nodes.Add(RootNode);
this.treeView1.Select();
TreeNode SubNode1=new TreeNode("北京市",1,1);
RootNode.Nodes.Add(SubNode1);
TreeNode SubNode2=new TreeNode("上海市",1,1);
RootNode.Nodes.Add(SubNode2);
TreeNode SubNode3=new TreeNode("天津市",1,1);
RootNode.Nodes.Add(SubNode3);
TreeNode SubNode4=new TreeNode("重庆市",1,1);
RootNode.Nodes.Add(SubNode4);
TreeNode SubNode5=new TreeNode("渝中区",1,1);
SubNode4.Nodes.Add(SubNode5);
TreeNode SubNode6=new TreeNode("长寿区",1,1);
SubNode4.Nodes.Add(SubNode6);
SubNode6.SelectedImageIndex=1;
SubNode6.Expand();
}
再来看下 几个方法的说明
public virtual new System.Int32 Add ( System.Windows.Forms.TreeNode node )
System.Windows.Forms.TreeNodeCollection 的成员
摘要:
将先前创建的树节点添加到树节点集合的末尾。
参数:
node: 添加到集合中的 System.Windows.Forms.TreeNode。
返回值:
添加到树节点集合中的 System.Windows.Forms.TreeNode 的从零开始的索引值。
异常:
System.Exception: node 目前分配给了另一 System.Windows.Forms.TreeView 控件。
public void Remove ( System.Windows.Forms.TreeNode node ) System.Windows.Forms.TreeNodeCollection 的成员 摘要: 从树节点集合中移除指定的树节点。 参数: node: 要移除的 System.Windows.Forms.TreeNode。
搞定