C#中TreeView控件的用法1_第1页
C#中TreeView控件的用法1_第2页
C#中TreeView控件的用法1_第3页
C#中TreeView控件的用法1_第4页
C#中TreeView控件的用法1_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TreeView组件是由多个类来定义的,TreeView组件是由命名空间"Systemystem.Windows.Forms”中的"TreeView”类来定义的,而其中的节点(即Node),是由命名空间"System.Windows.Forms”中的"TreeNode”来定义的。所以当在程序中创建一个TreeView对象,其实只是创建了一个可以放置节点的〃容器〃。而在这个容器中加入一个节点,其实就是加入了从"TreeNode”类中创建的一个节点对象;同样删除一个节点,也就是删除一个"TreeNode"节点对象。一、C#操作TreeView组件中的一些常用方法以及具体实现:TreeView组件虽然是一个操作起来比较麻烦的组件,但归根到底,可以总结为三种基本操作:加入子节点、加入兄弟节点和删除节点。掌握了这三种常用操作,对于在编程中灵活运用TreeView组件是十分必要的。下面就分别来加以介绍。.加入子节点:所谓子节点,就是处于选定节点的下一级节点。加入子节点的具体过程是:首先要在TreeView组件中定位要加入的子节点的位置,然后创建一个节点对象,然后利用TreeVeiw类中对节点的加入方法(即:Add()方法),加入此节点对象。下面就是在treeViewl组件中加入一个子节点的具体代码:〃首先判断是否选定组件中的位置if(treeViewl.SelectedNode==null)(MessageBox.Show("请选择一个节点”,”提示信息”,MessageBoxButtons.OK,MessageBoxIcon.Information);}else〃创建一个节点对象,并初始化TreeNodetmp;tmp=newTreeNode(〃节点名称〃);〃在TreeView组件中加入子节点treeView1.SelectedNode.Nodes.Add(tmp);treeViewl.SelectedNode=tmp;treeView1.ExpandAll();}(2).加入兄弟节点:所谓兄弟节点,就是在选定的节点的平级的节点。加入兄弟节点的方法和加入子节点的方法基本一致,只是在最后的实现方法上有着略微的区别。加入兄弟节点的具体步骤,首先也是要确定要加入的兄弟节点所处的位置,接着定义一个节点对象,最后调用TreeView类中对兄弟节点加入的方法,加入此节点对象。加入兄弟节点和加入子节点的最大区别就在于这最后一步。希望读者能够注意。下面是在TreeView组件加入一个兄弟节点的具体代码:〃首先判断是否选定组件中节点的位置if(treeView1.SelectedNode==null)(MessageBox.Show(〃请选择一个节点〃,〃提示信息〃,MessageBoxButtons.OK,MessageBoxIcon.Information);}else(〃创建一个节点对象,并初始化TreeNodetmp;tmp=newTreeNode(textBoxl.Text);〃在TreeView组件中加入兄弟节点treeViewl.SelectedNode.Parent.Nodes.Add(tmp);treeView1.ExpandAll();}.删除节点:删除节点就是删除TreeView组件中选定的节点,删除节点可以是子节点,也可以是兄弟节点,但无论节点的性质如何,必须保证要删除的节点没有下一级节点,否则必须先删除此节点中的所有下一级节点,然后再删除此节点。删除节点比起上面的二个操作要显得略微简单,具体方法是:首先判断要删除的节点是否存在下一级节点,如果不存在,就调用TreeView类中的Remove()方法,就可以删除节点了。下面是删除TreeView组件中节点的具体代码:〃判断选定的节点是否存在下一级节点if(treeViewl.SelectedNode.Nodes.Count==0)〃删除节点treeViewl.SelectedNode.Remove();elseMessageBox.Show(〃请先删除此节点中的子节点!",〃提示信息〃,MessageBoxButtons.OK,MessageBoxIcon.Information);.TreeView组件的一些其他常用操作:其他的一些常用操作比起上面的三种操作,在具体实现上要显得简单许多。这些常用操作无非是,展开所有节点,展开指定的节点、和折叠所有节点。下面就来具体介绍一下:I>.展开所有节点:要展开TreeView组件中的所有节点,首先就要把选定的节点指针定位在TreeView组件的根节点上,然后调用选定组件的ExpandAll方法就可以了,下面是具体代码:〃定位根节点treeView1.SelectedNode=treeView1.Nodes[0];〃展开组件中的所有节点treeView1.SelectedNode.ExpandAll();II>.展开选定节点的下一级节点:由于只是展开下一级节点,所以就没有必要用ExpandAll()方法了。展开下一级节点只需要调用Expand()方法就可以了,下面是具体的实现代码:treeView1.SelectedNode.Expand();<III>.折叠所有节点:折叠所有节点和展开所有节点是一组互操作,具体实现的思路也大致相同,折叠所有节点也是首先要把选定的节点指针定位在根节点上,然后调用选定组件的Collapse()就可以了,下面是具体的实现代码:〃定位根节点treeViewl.SelectedNode=treeViewl.Nodes[0];//折叠组件中所有节点treeView1.SelectedNode.Collapse();二、C#编写的一个完整操作TreeView组件的例子:下面是C#编写一个的关于TreeView组件的例子,在这个例子中,结合以上介绍的常用方法和一般方法,基本覆盖来TreeView组件的一些最常用的操作。譬如可以灵活的程序中的TreeView组件中,进行加入子节点、兄弟节点、删除节点、折叠、展开等操作。其中前三种基本操作是通过程序中弹出菜单中的功能来实现的,后面操作是通过程序中的按钮来实现的。下面是此程序的代码节略(TreeView.cs):usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.FormsusingSystem.Data;namespace全面掌握TreeView组件的使用方法(///Form1的摘要说明。publicclassForm1:Form(privateTreeViewtreeView1;privateButtonbutton1;privateButtonbutton2;privateButtonbutton3;privateMenuItemmenuItem2;privateMenuItemmenuItem3;privateMenuItemmenuItem4;privateContextMenucontextMenu1;privateTextBoxtextBox1;privateLabellabel1;///必需的设计器变量。privateSystem.ComponentModel.Containercomponents=nullpublicForm1()(//初始化窗体中的组件InitializeComponent();}///清理所有正在使用的资源。protectedoverridevoidDispose(booldisposing)(if(disposing)(if(components!=null)(components.Dispose();}}base.Dispose(disposing);}privatevoidInitializeComponent()(〃初始化代码(略)}[STAThread]staticvoidMain()(Application.Run(newForml());}privatevoidAddChildNode()(〃首先判断是否选定组件中的位置if(treeViewl.SelectedNode==null)(MessageBox.Show(〃请选择一个节点〃,〃提示信息〃,MessageBoxButtons.OK,MessageBoxIcon.Information);}else(if(textBox1.Text!="")(〃创建一个节点对象,并初始化TreeNodetmp;tmp=newTreeNode(textBoxl.Text);〃在TreeView组件中加入子节点treeViewl.SelectedNode.Nodes.Add(tmp);treeViewl.SelectedNode=tmp;treeViewl.ExpandAll();}else(MessageBox.Show("TextBox组件必须填入节点名称!",〃提示信息〃,MessageBoxButtons.OK,MessageBoxIcon.Information);return;}}privatevoidAddParent()(〃首先判断是否选定组件中节点的位置if(treeViewl.SelectedNode==null)(MessageBox.Show(〃请选择一个节点〃,〃提示信息〃,MessageBoxButtons.OK,MessageBoxIcon.Information);}else(if(textBox1.Text!="")(〃创建一个节点对象,并初始化TreeNodetmp;tmp=newTreeNode(textBoxl.Text);〃在TreeView组件中加入兄弟节点treeViewl.SelectedNode.Parent.Nodes.Add(tmp);treeViewl.ExpandAll();}else(MessageBox.Show("TextBox组件必须填入节点名称!",〃提示信息〃,MessageBoxButtons.OK,MessageBoxIcon.Information);return;}}TreeNodetnode=newTreeNode(textBox1.Text);}privatevoidtreeView1_MouseDown(objectsender,MouseEventArgse)(if(e.Button==MouseButtons.Right)contextMenu1.Show(this,newPoint(e.X,e.Y));}privatevoidbutton1_Click(objectsender,System.EventArgse)(treeView1.SelectedNode.Expand();}privatevoidmenuItem2_Click(objectsender,System.EventArgse)(AddChildNode();}privatevoidmenuItem3_Click(objectsender,System.EventArgse)(AddParent();privatevoidmenuItem4_Click(objectsender,System.EventArgse)(〃判断选定的节点是否存在下一级节点if(treeView1.SelectedNode.Nodes.Count==0)〃删除节点treeView1.SelectedNode.Remove();elseMessageBox.Show(〃请先删除此节点中的子节点!",〃提示信息〃,MessageBoxButtons.OK,MessageBoxIcon.Information);}privatevoidbutton2_Click(objectsender,System.EventArgse)(〃定位根节点treeView1.SelectedNode=treeView1.Nodes[0];〃展开组件中的所有节点treeView1.SelectedNode.ExpandAll();}privatevoidbutton3_Click(objectsender,System.EventArgse)(〃定位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论