Generated Image

如何使用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。 

搞定

posted @ 2007-02-10 20:26  桂圆  阅读(1224)  评论(1编辑  收藏  举报