1.首先判断有没有父节点,有父节点的,NEW一个父节点然后增加;没有父节点就选当前的节点 treeView2.Nodes.Add(newChildNode);

2.父节点的判断可以用leveL来判断

3.下面的程序其实是增加第二个阶梯(level =1),当你右击第一个阶梯时(level=0,父节点),那么程序增加的是第二阶梯(第一阶梯的子节点);当你选第二阶梯,增加的是兄节点

总结:这个是固定一个右键上的增加固定窗口,比如增加的窗口始终是在第二阶梯,也就是下面的程序是增加第二阶梯的

public  void AddChildNode(TreeNode tn, string NewChileName)
{
if (tn.Level == )
{
TreeNode parentNode = tn.Parent;
TreeNode newChildNode = new TreeNode(); newChildNode.Text = NewChileName;
parentNode.Nodes.Add(newChildNode);
}
else if ( tn.Level ==)
{
TreeNode newChildNode = new TreeNode();
newChildNode.Text = NewChileName;
tn.Nodes.Add(newChildNode);
}
}

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

二 还有一个程序是,固定增加项的 ,比如:右击上的选择有一个增加兄类,也就是说不管你点那个节点,他增加的都是兄类;或者增加子节点的,不管你选什么节点,他都是增加的子节点

这个程序简单,但是实用性没有上面的强,毕竟我们增加固定项的时候多,也就是说我们无论点父节点还是本节点 ,右键上显示的增加“固定项”,都能在第二阶梯显示,而这个程序当我们点本项的时候只能增加子节点

 private void AddChildNode(TreeNode tn, string NewChileName)
{
TreeNode newChildNode = new TreeNode();
newChildNode.Text = NewChileName;
tn.Nodes.Add(newChildNode);
}

看两个图片比较就明白了,你总不能让操作者来选择父节点和兄节点吧

固定选项

固定节点,也就是第二个,这个程序也好写,但是。。。。。

关于treeview手动添加的方法的更多相关文章

  1. Windows服务的手动添加和删除方法

    Windows服务的手动添加和删除方法 服务,是指执行指定系统功能的程序.例程或进程,以便支持其他程序,尤其是低层(接近硬件)程序.其实,服务就是一种特殊的应用程序,它从服务启动开始就一直处于运行状态 ...

  2. 更新Android Studio,提示后直接点更新即可。gradle 两种更新方法,我用的第二种:手动添加gradle

    直接更新即可. 更新完毕后,随即会让你更新gradle,但是会一直更新一直更新...... 解决方法: 第一种方法: 手动下载Android Studio 对应的 gradle版本,然后设置一下即可. ...

  3. IOS手动添加CoreData

    手动添加coreData: 1.在target-build phrase-Link binary with libraries里增加CoreData Framework 2.加入数据模型:comman ...

  4. 如何手动添加Windows服务和如何把一个服务删除

    windows 手动添加服务方法一:修改注册表 在注册表编辑器,展开分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" ...

  5. elasticsearch中国字(mmseg)——手动添加字典

    elasticsearch中国文字本身并不是一个理想的插件效果.手动添加字典可以补偿在一定程度上. 后发现了几个实验,mmseg分段机制采用正向最长匹配算法.例如,抵抗"小时报"这 ...

  6. Maven手动添加jar包

    有的jar在Maven中找不到则需要手动添加(如ojdbc14.jar) 方法如下: 一.将你要添加的jar包放到指定目录(在该目录下打开命令窗口) 二.输入指令:mvn install:instal ...

  7. Quartz动态添加定时任务执行sql(服务启动添加+手动添加)

    系统用来每天插入视图数据... 一.数据库表设计 1.接口配置表(t_m_db_interface_config) 2.接口日志表(t_m_db_interface_log) 3.前端配置页面 查询页 ...

  8. Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包

    一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path-.将依赖包添加到工程中后,eclipse不报错了.但是用Maven命令 mv ...

  9. iOS 自己手动添加编译警告

    文/青花瓷的平方(简书作者)原文链接:http://www.jianshu.com/p/b2e30cad2a0d著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 缘由 上一次生产环境我们 ...

随机推荐

  1. winform记事本初步实现

    public Form1() { InitializeComponent(); } private void 剪切TToolStripMenuItem_Click(object sender, Eve ...

  2. Odoo中的Javascript单元测试

    前端页面利用QUnit进行单元测试,本文参考官方文档:https://www.odoo.com/documentation/8.0/reference/javascript.html 访问/web/t ...

  3. mysql错误代码整理

    1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除 ...

  4. 如何给Sublime安装插件

    第一步:点击链接http://sublime.wbond.net/Package%20Control.sublime-package下载Package Control. 第二步:点击打开Sublime ...

  5. ArcEngine:空间索引格网大小无效

    参考如下帖子:http://www.cnblogs.com/linhugh/archive/2012/07/24/2606439.html\ C# 代码如下 IFeatureClass pNewFtC ...

  6. php完全销毁session

    <?php session_start(); session_unset(); session_destroy(); ?> session_unset()释放当前在内存中已经创建的所有$_ ...

  7. 设置mariadb字符集为utf8

    我用的是10.0.25 mariadb,     在centos7系统上,用以下指令设置数据库字符集. [client] default-character-set=utf8 [mysql] defa ...

  8. 详解NTFS文件系统

    一.分析NTFS文件系统的结构 当用户将硬盘的一个分区格式化为NTFS分区时,就建立了一个NTFS文件系统.NTFS文件系统同FAT32文件系统一样,也是用“簇”为存储单位,一个文件总是占用一个或多个 ...

  9. 【转】Gvim开发环境配置笔记--Windows篇

    配置文件(vimrc) set nocompatible set nu! set cursorline colorscheme murphy " vim 自身命令行模式智能补全 set wi ...

  10. IOS第15天(2,事件处理,侧滑菜单,抽屉效果)

    ******HMDrawViewController.m #import "HMDrawViewController.h" @interface HMDrawViewControl ...