WinForm 中TreeView 控件的使用实例
新建一个窗体,在本窗体界面上需要以下几个按钮
(一个TreeView 一个 TextBox 三个Button 按钮)
后台代码如下:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { treeView1.Nodes.Clear(); TreeNode tree = new TreeNode("根节点"); treeView1.Nodes.Add(tree); } /// <summary> /// 添加子节点的方法 /// </summary> public void addChildCode() { //首先判断是否选中节点中的位置 if (treeView1.SelectedNode == null) { MessageBox.Show("请选择一个节点!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { if (textBox1.Text != "") { //创建一个节点对象并初始化 TreeNode 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; } } } /// <summary> /// 添加兄弟节点的方法 /// </summary> public void addParent() { try { if (treeView1.SelectedNode == null) { MessageBox.Show("请选择一个节点!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { if (textBox1.Text != null) { //创建一个节点对象并且初始化 TreeNode tmp = new TreeNode(textBox1.Text); //在TreeView 组件中加入兄弟节点 treeView1.SelectedNode.Parent.Nodes.Add(tmp); treeView1.ExpandAll(); } else { MessageBox.Show("textbox组件必须填写节点名称!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } } catch { TreeNode rmp = new TreeNode("根节点"); treeView1.Nodes.Add(rmp); } } /// <summary> /// 判断鼠标点击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void treeView1_MouseDown(object sender, MouseEventArgs e) { //获取是否是鼠标右键点击 if (e.Button == MouseButtons.Right) { contextMenuStrip1.Show(this, new Point(e.X, e.Y)); } } /// <summary> /// 展开下一节点 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { treeView1.SelectedNode.Expand(); } /// <summary> /// 展开全部节点 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender, EventArgs e) { //定位根节点 treeView1.SelectedNode = treeView1.Nodes[]; //展开组件中的所有节点 treeView1.SelectedNode.ExpandAll(); } /// <summary> /// 折叠全部节点 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button3_Click(object sender, EventArgs e) { //定位根节点 treeView1.SelectedNode = treeView1.Nodes[]; //收缩组件中的所有节点 treeView1.SelectedNode.Collapse(); } /// <summary> /// 点击快捷菜单中的“加入子节点”菜单项,则调用用户自定义的addChildCode()方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 加入子节点ToolStripMenuItem_Click_1(object sender, EventArgs e) { addChildCode(); } /// <summary> /// 点击快捷菜单中的“加入兄弟节点”菜单项,则调用用户自定义的addParent()方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 加入兄弟节点ToolStripMenuItem_Click_1(object sender, EventArgs e) { addParent(); } /// <summary> /// 点击快捷菜单中的“删除节点”菜单项,则删除节点 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 删除节点ToolStripMenuItem_Click(object sender, EventArgs e) { ) { treeView1.SelectedNode.Remove(); } else { MessageBox.Show("请先删除此节点中的子节点!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } }
WinForm 中TreeView 控件的使用实例的更多相关文章
- Winform中Treeview控件失去焦点,将选择的节点设置为高亮显示 (2012-07-16 13:47:07)转载▼
Winform中Treeview控件失去焦点,将选择的节点设置为高亮显示 (2012-07-16 13:47:07)转载▼标签: winform treeview drawnode Treeview控 ...
- C#Winform中treeView控件使用总结
1.如何展开结点时改变图标(注意:不是选中时) 要在目录中使用图标首先要加入一个控件ImageList(命名为imageList1),然后可以按图片的index或名称引用图片. 然后需要在TreeVi ...
- WinForm中TreeView控件实现鼠标拖动节点(可实现同级节点位置互换,或拖到目标子节点)
;//1:不同级, 不为1:拖同级 private void treeView1_ItemDrag(object sender, ItemDragEventArgs e) { if (e.Button ...
- C#之Winform中treeview控件绑定数据库
private DataSet ds; private SqlDataAdapter sqlDataAdapter1; private int maxnodeid; private void Form ...
- Winform中checklistbox控件的常用方法
Winform中checklistbox控件的常用方法最近用到checklistbox控件,在使用其过程中,收集了其相关的代码段1.添加项checkedListBox1.Items.Add(" ...
- [C#]WinForm 中 comboBox控件之数据绑定
[C#]WinForm 中 comboBox控件之数据绑定 一.IList 现在我们直接创建一个List集合,然后绑定 IList<string> list = new List<s ...
- Win32中TreeView控件的使用方法,类似于资源管理器中文件树形显示方式
首先是头文件,内容如下: #include <tchar.h> #include "..\CommonFiles\CmnHdr.h" #include <Wind ...
- C#winform中使用控件的Dock属性进行布局
想要实现如下布局,可以通过设置控件的Dock属性达到效果 1.拖放一个panel控件一个label控件(放在panel中)和一个treeView控件到TestForm中 2.设置panel的Dock属 ...
- C# WinForm中 让控件全屏显示的实现代码
夏荣全 ( lyout(at)163.com )原文 C#中让控件全屏显示的实现代码(WinForm) 有时候需要让窗口中某一块的内容全屏显示,比如视频播放.地图等等.经过摸索,暂时发现两种可行方法, ...
随机推荐
- 清北学堂模拟赛day7 石子合并加强版
/* 注意到合并三堆需要枚举两个端点,其实可以开一个数组记录合并两堆的结果,标程好像用了一个神奇的优化 */ #include<iostream> #include<cstdio&g ...
- PHP array 操作函数
array_map 函数的介绍 将数组的每个单元使用回调函数格式: array_map(callback, array) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
- BZOJ 1131: [POI2008]Sta
Description 一棵树,问以那个节点为根时根的总和最大. Sol DFS+树形DP. 第一遍统计一下 size 和 d. 第二遍转移根,统计答案就行了. Code /************* ...
- Apache curator-client详解
Apache curator框架中curator-client组件可以作为zookeeper client来使用,它提供了zk实例创建/重连机制等,简单便捷.不过直接使用curator-client并 ...
- 如何有效地描述软件缺陷(Defect)?
最近一个月偷懒了,刚看到一篇博文很不错.最近也是碰到一样的问题,由于我记录bug的描述不够清晰.导致开发看不懂我描述的bug,还有一些配置信息没记录好.出现一问三不知的情况,还被领导训.下面的博文是来 ...
- 【YEOMAN】执行yo命令,报EACCES: permission denied, mkdir '/root/.config/configstore'
基础环境:CentOS7.Nodejs6.0之上,yo:1.8.4 在执行yo初始化webapp时,报错,错误内容如下: Error: EACCES: permission denied, mkdir ...
- tensorflow的安装
binary安装(推荐) 注意需要能访问外网 Install pip (or pip3 for python3) if it is not already installed: # Ubuntu/Li ...
- delphi.memory.分配及释放---New/Dispose, GetMem/FreeMem及其它函数的区别与相同
我估摸着内存分配+释放是个基础函数,有些人可能没注意此类函数或细究,但我觉得还是弄明白的好. 介绍下面内存函数前,先说一下MM的一些过程,如不关心可忽略: TMemoryManager = recor ...
- LockSupport
LockSupport是高级线程同步类的基础,用来block和释放线程.这里要区别notify和wait的点在于这里可以先unpark,再park.(有点类似于unpark等于-1,park等于+1. ...
- CookieManager
CookieSyncManager.createInstance(context); CookieManager cookieManager = CookieManager.getInstance() ...