2009-08-12 20:10 1494人阅读 评论(2) 收藏 举报

C#中,通过单击上移,下移按钮移动树节点中的节点顺序的实现方法:

  1. public Form1()
  2. {
  3. InitializeComponent();
  4. }
  5. TreeNode preNode, nextNode, currentNode;
  6. int g_tag;
  7. string g_text;
  8. private void Form1_Load(object sender, EventArgs e)
  9. {
  10. TreeNode tn = new TreeNode();
  11. tn.Nodes.Add("北京");
  12. tn.Tag = 1;
  13. tn.Nodes.Add("湖北");
  14. tn.Tag = 2;
  15. tn.Nodes.Add("上海");
  16. tn.Tag = 3;
  17. tn.Nodes.Add("天津");
  18. tn.Tag = 4;
  19. treeView1.Nodes.Add(tn);
  20. }
  21. //上移
  22. private void button2_Click(object sender, EventArgs e)
  23. {
  24. currentNode = treeView1.SelectedNode;
  25. if (currentNode == null)
  26. {
  27. return;
  28. }
  29. else
  30. {
  31. preNode = currentNode.PrevNode;
  32. if (preNode == null)
  33. {
  34. return;
  35. }
  36. else
  37. {
  38. g_text= preNode.Text;
  39. g_tag=Convert.ToInt32( preNode.Tag);
  40. preNode.Tag= currentNode.Tag;
  41. preNode.Text = currentNode.Text;
  42. currentNode.Tag = g_tag;
  43. currentNode.Text = g_text;
  44. }
  45. }
  46. }
  47. //下移
  48. private void button3_Click(object sender, EventArgs e)
  49. {
  50. currentNode = treeView1.SelectedNode;
  51. if (currentNode == null)
  52. {
  53. return;
  54. }
  55. else
  56. {
  57. preNode = currentNode.NextNode;
  58. if (preNode == null)
  59. {
  60. return;
  61. }
  62. else
  63. {
  64. g_text = preNode.Text;
  65. g_tag = Convert.ToInt32(preNode.Tag);
  66. preNode.Tag = currentNode.Tag;
  67. preNode.Text = currentNode.Text;
  68. currentNode.Tag = g_tag;
  69. currentNode.Text = g_text;
  70. }
  71. }
  72. }

在窗体中拖1个treeView控件和两个button,按照上面思路实现就可以了。

C#上移,下移TreeView中的树节点顺序的更多相关文章

  1. AppBox中main树节点单击事件JS(还有叶子的节点的页面链接)

    AppBox中main.aspx.csif (menu.IsTreeLeaf) {                        node.Leaf = true;                   ...

  2. TreeView中右击直接获取节点的方法

    在TreeView中无法直接右击得到一个节点,因为当你选中其中一个右击时(不能是第一个)他会默认跳到第一个. 有时我们要想直接右击得到选中的节点,又时我们又想选中直接右击跳出一个快捷菜单怎么办了! 在 ...

  3. 修复jquery.treeview的增加子节点的方法的bug

    1.修复理由 在一个android项目中用到了treeview控件(本来自己通过android的原生api实现了一个http://www.cnblogs.com/Mr-Nobody/p/3527688 ...

  4. TreeView 树节点的处理

    TreeView 树节点的处理 using System; using System.Collections.Generic; using System.ComponentModel; using S ...

  5. 问题-在TreeView使用时,发现选中的树节点会闪烁或消失

    问题:在工程中选中一个树节点,鼠标焦点在树上,做某种操作时发现选中的点会消失?原因:如果只是BeginUpdate后,没有调用EndUpdate,树会全空.应该是BeginUpdate方法会刷新树,但 ...

  6. table中实现数据上移下移效果

    html 由于vue+Element项目中的table,没有开放的上移下移的api,但是能对数据操作,故思路为数组中的一条数据,再重新添加一条数据,办法有点笨,但是好歹也是实现了,望有好的办法的,请留 ...

  7. ext 树节点操作

    ext 树节点操作 tree :树    node:节点 1.全部展开 tree.expandAll(); 2.全部收缩 tree.collapseAll(); 3.得到父节点 node.parent ...

  8. WPF:使用Json.NET在TreeView中树形显示JSON数据

    原文 WPF:使用Json.NET在TreeView中树形显示JSON数据 据 读者可以参考这个开源的可以树形显示XML和JSON的工具: Mgen Object 603:XML/JSON树形显示小工 ...

  9. 向treeview中加载数据

    1.获取树节点的值,用事件AfterSelect加载(id值的获取,用name来获取) 2.双击treeview控件得到 private void treeView1_AfterSelect(obje ...

随机推荐

  1. ionic2/3 禁止屏幕旋转,禁止横屏,竖屏

    ionic2/ionic3禁止屏幕旋转,及解除禁止旋转 1.添加插件: cmd到项目目录---> cordova plugin add cordova-plugin-screen-orienta ...

  2. 使用whIle循环语句和变量打印九九乘法表

    -设置i变量declare @i int --设置j变量declare @j int --设置乘法表变量declare @chengfabiao varchar(1000)--给i,j,@chengf ...

  3. Java_Web三大框架之Hibernate增删改查

    下面介绍一下Hibernate的增删改查. 第一步:编写用户实体类以及User.hbm.xml映射 package com.msl.entity; public class User { privat ...

  4. js获得子节点, 获得tab转json值

    //提取表格的值,JSON格式 function GetTableData(table) { var tableData = new Array(); //创建数组 alert("行数:&q ...

  5. pycharm之gitignore设置

    首先检查pycharm是否安装了ignore插件 项目目录如图: 选中项目automationTest名称,右击-->New-->查看是否有ignore file选项,如果有表示Pycah ...

  6. swift-延时加载函数

    //延时加载函数 func delayLoad(){ let time: NSTimeInterval = 2.0 let delay = dispatch_time(DISPATCH_TIME_NO ...

  7. golang实现高阶函数之filter

    package main import "fmt" type student struct{ name string grade int8 } func filter(stu [] ...

  8. Linux系统学习之 一:新手必须掌握的Linux命令1

    2018-10-03 16:04:12 一.常用系统工作命令 1.wget 命令 作用:用于在终端中下载网络文件. 格式:wget [参数] 下载地址 参数及作用: -b : 后台下载模式 -d:显示 ...

  9. TypeError与ValueError的区别

    typeerror:函数或方法接受了不适当的[类型]的参数,比如sum('nick'),sum函数不接受字符串类型:valueerror:函数或方法虽然接受了正确的[类型]的参数,但是该参数的[值]不 ...

  10. java 垃圾收集

    1.为什么使用垃圾收集 a.把用户从释放占用内存的重担中解救出来 b.帮助程序保持完整性 2.垃圾收集算法 检测出垃圾对象,必须回收垃圾对象所使用的堆空间并还给程序 垃圾检测:通过建立一个根对象集合并 ...