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. Count the consecutive zero bits (trailing) on the right with multiply and lookup

    我在网上看到了一点神奇的代码,用来计算一个数字末尾连续零的个数. 刚好我在优化一个I2C读写函数(只写入I2C特定bit),觉得这个很有用.经过尝试,确实没问题. 下面我隆重介绍一下: Count t ...

  2. 【PostgreSQL-9.6.3】触发器概述(普通触发器)

    一个触发器声明了当执行一种特定类型的操作时数据库应该自动执行一个特殊的函数.触发器可以被附加到表.视图和外部表.触发器经常用于做完整性约束,或者某种业务规则的约束. 1. 触发器的创建语法如下: CR ...

  3. MSSQL高并发下生成连续不重复的订单号

    一.确定需求 只要做过开发的基本上都有做过订单,只要做过订单的基本上都要涉及生成订单号,可能项目订单号生成规则都不一样,但是大多数规则都是连续增长. 所以假如给你一个这样的需求,在高并发下,以天为单位 ...

  4. THREE.js代码备份——canvas - geometry - earth(球体贴纹理)

    <!DOCTYPE html> <html lang="en"> <head> <title>three.js canvas - g ...

  5. c#仿照qq登录界面编辑框内容操作

    using System; using System.Drawing; using System.Windows.Forms; namespace 案例演示 { public partial clas ...

  6. Java单元测试 - TestNG

    官网 Eclipse安装TestNG插件 与Junit相比 从Junit发展而来,开发者就是Junit小组的一个人 Test Suite不再需要硬编码,就像cf自动登录的脚本中一样,可以写到一个xml ...

  7. ubuntu下查看如何配置pycharm

    ubuntu中PyCharm的安装与卸载 https://blog.csdn.net/weixin_31484477/article/details/81133590 pycharm ModuleNo ...

  8. Python---HTML表单

    一. http:80 https:443 -------------------------- 二.

  9. Oracle数据库的自动备份脚本

    @echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...

  10. Atcoder Code Festival 2017 qual C 10.22 D题题解

    [题意概述] 给出一个只有小写字母的序列,问最少把序列分成几段可以满足每一段可以通过变换成为回文串.变换指的是交换子序列中的字母的位置. [题解] 我们把a~z分别设为2^0~2^25,每个子序列满足 ...