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. CSS居中布局方案

    基本结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  2. crontab错误处理

    crontab任务跑着跑着突然停了,莫名奇妙,查看日志,发现以下错误: 网上搜了一下报错,提示说是调整打开最大进程数,设置如下

  3. servlet学习总结(一)——HttpServletRequest(转载)

    原文地址:http://www.cnblogs.com/xdp-gacl/p/3798347.html 一.HttpServletRequest介绍 HttpServletRequest对象代表客户端 ...

  4. js中关于new Object时传参的一些细节分析

    1, 参数是一个对象,核心js对象(native ECMAScript object)或宿主对象(host object),那么将直接返回该对象. 其生成的对象构造器仍然是所传参数对象的构造器.这样造 ...

  5. 用shell编写dhcp自动获取脚本

    #!/bin/bash#net=$(ifconfig ens33 | awk -F'[ .]+' '/inet\>/{print $3"."$4"."$5 ...

  6. WING IDE 快捷键

    工欲善其事必先利其器,所以我们无论使用什么编译器,都要熟悉一些快捷键. Ctrl+N新建文件 Ctrl+O 打开文件夹 Ctrl+W 关闭当前文件 Ctrl+S 保存文件 Ctrl+shif+S 另存 ...

  7. HDU3336Count the string

    HDU3336Count the string Problem Description It is well known that AekdyCoin is good at string proble ...

  8. Vue.js:使用vue-cli快速构建项目

    vue-cli是什么? vue-cli 是vue.js的脚手架,用于自动生成vue.js模板工程的. vue-cli怎么使用? 安装vue-cli之前,需要先安装了vue和webpack,不知道怎么安 ...

  9. Excel表格

    自己一个一个试出来,并写上解释. 还不熟练,待多写代码多练习. #!/usr/bin/python # -*- coding:utf-8 -*- import os import xlwt impor ...

  10. LINUX应用开发(面试)

    LINUX应用开发工程师职位 本试卷从考试酷examcoo网站导出,文件格式为mht,请用WORD/WPS打开,并另存为doc/docx格式后再使用 说明:应用开发可考察的点非常多,关键的还是C语言和 ...