0.属性和方法

//属性方法
advTree1.DragDropEnabled = !advTree1.DragDropEnabled;//控制是否可以拖动节点
advTree1.MultiSelect = !advTree1.MultiSelect;//控制节点是否可以多选
advTree1.ExpandButtonType = DevComponents.AdvTree.eExpandButtonType.Triangle;//展开节点前边的图标 三角形
advTree1.ExpandButtonType = DevComponents.AdvTree.eExpandButtonType.Ellipse;//圆形中间一个线
advTree1.ExpandButtonType = DevComponents.AdvTree.eExpandButtonType.Image;//展开下边1的图 折叠下边0的图
advTree1.ExpandImage = imageList1.Images[];
advTree1.ExpandImageCollapse = imageList1.Images[];
advTree1.ExpandButtonType = DevComponents.AdvTree.eExpandButtonType.Rectangle;//默认方块形中间加一个线
advTree1.ExpandButtonSize = new Size(, );//展开按钮大小 默认8,8
advTree1.SelectionBoxStyle = DevComponents.AdvTree.eSelectionStyle.FullRowSelect;//选中一行
advTree.DragDropEnable=false; 禁止拖动   
// advTree1.Nodes.Clear();//清空所有节点
advTree1.ExpandAll();//全部展开
advTree1.CollapseAll();//全部折叠
Node n = advTree1.SelectedNode.Copy();//复制先中节点
advTree1.SelectedNode.Remove();//移除节点
advTree1.Nodes.Add(n);//添加节点

1.对advTree操作都是在Nodes属性基础上的如:新建 一个Node并添加到tree中 node 前的图片 展示

Node n = new Node();//节点下再加节点 像部门档案等可递归实现
n.Text = "小张";
n.Nodes.Add(new Node("男"));
n.Nodes.Add(new Node(""));
n.Nodes.Add(new Node("小张永远18,你懂得"));
n.Nodes.AddRange(new Node[] { new Node("汉"), new Node("有三个女朋友")});//集合增加
n.image=//图片源 显示图片
n.ImageExpanded=//图片源 节点展开时显示的图片 advTree1.Nodes.Add(n);

2.取选中节点的值

advTree1.SelectedNode.Text;

3.选中时节点 执行操作(SelectedIndexChanged)

   private void AdvTree1_SelectedIndexChanged(object sender, EventArgs e)
{
//MessageBox.Show(advTree1.SelectedNode.Text); //层级
if (advTree1.SelectedNode.Level == )
{
//语句1
}
else if (advTree1.SelectedNode.Level ==)
{
//语句2
}
}

4.拖拽 各种限制都在BeforeNodeDrop设置 如:我只能在层级1级上相互拖动 不可去0级2级

 private void AdvTree1_BeforeNodeDrop(object sender, TreeDragDropEventArgs e)
{
Node node = e.Node;
Node pNode = e.NewParentNode; if (pNode==null)
{
MessageBox.Show("不能改变层级关系");
e.Cancel = true;
return;
} if (pNode.Level != )
{
MessageBox.Show("不能改变层级关系");
e.Cancel = true;
return;
} }

  

C# WinForm控件之advTree的更多相关文章

  1. 在WPF中使用WinForm控件方法

    1.      首先添加对如下两个dll文件的引用:WindowsFormsIntegration.dll,System.Windows.Forms.dll. 2.      在要使用WinForm控 ...

  2. WPF 调用WinForm控件

    WPF可以使用WindowsFormsHost控件做为容器去显示WinForm控件,类似的用法网上到处都是,就是拖一个WindowsFormsHost控件winHost1到WPF页面上,让后设置win ...

  3. WinForm控件TreeView 只部分节点显示 CheckBox

    WinForm控件TreeView 只部分节点显示  CheckBox 用过asp.net的应该知道,要在treeview中实现上述功能可以使用ShowCheckBox 属性指定那些节点显示check ...

  4. Winform控件重写

    Winform控件重写 因为最近的项目中越来越多的遇到了比较特殊的一些控件,有时候我们自己封装一下可能更加方便我们的使用,下面是我们项目中用到的,简单做一个记录. TextBox控件重写 主要的控制代 ...

  5. 通过WinForm控件创建的WPF控件无法输入的问题

    今天把写的一个WPF程序发布到别的机器上执行,发现一个比较奇怪的问题:在那个机器上用英文输入法无法输入数字,非要切换到中文输入法才行:但在我的机器上却是好好的. 最开始以为是输入法的问题,弄了好一阵子 ...

  6. c#Winform控件总结

    1. C# WinForm控件.自定义控件整理(大全) (http://www.cnblogs.com/top5/archive/2010/04/29/1724039.html) 2. c#窗体控件用 ...

  7. 在WPF中调用Winform控件

    最近在项目中用到了人脸识别和指纹识别,需要调用外部设备和接口,这里就用到了在WPF中调用Winform控件. 第一步,添加程序集引用.System.Windows.Forms和WindowsForms ...

  8. C# 扩展方法奇思妙用高级篇六:WinForm 控件选择器

    在Web开发中,jQuery提供了功能异常强大的$选择器来帮助我们获取页面上的对象.但在WinForm中,.Net似乎没有这样一个使用起来比较方便的选择器.好在我们有扩展方法,可以很方便的打造一个. ...

  9. WinForm控件使用文章收藏整理完成

    对C# WinForm开发系列收集的控件使用方面进行整理, 加入了一些文章, 不断补充充实, 完善这方面. 基础 - 常用控件 C# WinForm开发系列 - CheckBox/Button/Lab ...

随机推荐

  1. PAT_A1033#To Fill or Not to Fill

    Source: PAT A1033 To Fill or Not to Fill (25 分) Description: With highways available, driving a car ...

  2. spring data jpa 使用JPQL的方式查询

    用Spring Data JPA提供的查询方法已经可以解决大部分的应用场景,但是对于某些业务来说,我们还需要灵活的构造查询条件,这时就可以使用@Query注解,结合JPQL的语句方式完成查询 @Que ...

  3. 简单了解Redis

    redis是什么 redis是一种支持key-value等多种数据结构的存储系统,可用于缓存,事件发布,消息队列等场景,支持多种数据类型 string.hash.list.set.zset.而且基于内 ...

  4. Linux NIO 系列(04-1) select

    目录 一.select 机制的优势 二.select API 介绍与使用 2.1 select 2.2 fd_set 集合操作 2.3 select 使用范例 三.深入理解 select 模型: 四. ...

  5. Python 常见报错类型

    一.TypeError:类型错误,对象用来表示值的类型非预期类型时发生的错误 错误例子: age=18 print(‘我的年龄是’+age) 报错信息:TypeError: can only conc ...

  6. AJAX 向后台发送带 List 集合的对象(转)

    var school = {};school.name = '清华大学';school.address = "北京";//此处使用的是 easyui 插件来获取数据var rows ...

  7. list采坑记录一下

    List<Integer> cards = Lists.newArrayList(6,10,11,12,21,23,29,30,38,39,42,43,46,51,53,59,60);Li ...

  8. mysql binlog相关

    1.清除的binlog   删除所有binlog日志,新日志编号从头开始 RESET MASTER;   删除mysql-bin.XXXX之前所有日志 PURGE MASTER LOGS TO 'my ...

  9. HBase之BlockCache数据读取(转)

    转自:http://blog.csdn.net/u014297175/article/details/47976909 Hbase上Regionserver的内存分为两个部分,一部分作为Memstor ...

  10. nodejs进阶:密码加盐:随机盐值

    demo var crypto = require('crypto'); function getRandomSalt(){ return Math.random().toString().slice ...