/// <summary>/// 用键盘上下左右键和ctrl键移动节点 /// 思路:现复制2个选中的节点。1.为了记住第一次选中节点位置,2在上移过程中现将令一个插入指定位置,/// 然后将选中节点移除/// </summary>/// <param name="treeView">treeview</param>/// <param name="e">键盘的按键</param>private void MoveTreeNodeByKeyWord(TreeView treeView, KeyEventArgs e){if (treeView.SelectedNode != null){if (e.Control != true) return;TreeNode tn = treeView.SelectedNode;TreeNode tempNode = (TreeNode)treeView.SelectedNode.Clone();switch (e.KeyCode){case Keys.Up:if (treeView.SelectedNode.PrevNode == null)return;if (tn.Parent == null)treeView.Nodes.Insert(tn.Index + 2, tempNode);elsetn.Parent.Nodes.Insert(tn.Index + 2, tempNode);treeView.SelectedNode.Remove();treeView.SelectedNode = tempNode;break;case Keys.Down:if (treeView.SelectedNode.NextNode == null)return;if (tn.Parent == null)treeView.Nodes.Insert(tn.Index + 2, tempNode);elsetn.Parent.Nodes.Insert(tn.Index + 2, tempNode);treeView.SelectedNode.Remove();treeView.SelectedNode = tempNode;break;case Keys.Left:if (treeView.SelectedNode.Parent == null)return;if (treeView.SelectedNode.Parent.Parent == null)treeView.Nodes.Add(tempNode);elsetn.Parent.Parent.Nodes.Add(tempNode);tn.Remove();treeView.SelectedNode = tempNode;break;case Keys.Right:if (treeView.SelectedNode.NextNode == null)return;treeView.SelectedNode.NextNode.Nodes.Insert(0, tempNode);tn.Remove();treeView.SelectedNode = tempNode;break;}}}

转载于:https://www.cnblogs.com/Ruiky/archive/2013/02/20/2918324.html

用键盘上下左右键和ctrl键移动TreeView节点相关推荐

  1. 计算机弹奏蔡徐坤,用了多年键盘才发现,CTRL键跟蔡徐坤有关,细思极恐!

    原标题:用了多年键盘才发现,CTRL键跟蔡徐坤有关,细思极恐! 自从电脑出现以后,我们就在享受电脑带来的便利.而我们在使用电脑的时候就需要键盘来进行打字,所以我们想要完整的使用电脑键盘是少不了的. 而 ...

  2. mac外界键盘更换command与ctrl键功能

    mac外界键盘更换command与ctrl键功能 找到外置键盘,修改对应的按键即可

  3. 机械键盘caps键和ctrl键颠倒,解决办法

    本人机械键盘 ctrl键与caps键不知怎么换了 经过别人的一些推荐 自己琢磨 发现 可以了 先按住 ctrl键与fn键 再按caps键 就可以换回来 . 个人想法 先 按 fn + 某键(如:ctr ...

  4. 在VMware中,双击鼠标左键,ctrl键粘滞问题

    在虚拟机下开发程序时,发现键盘输入异常.后发现是双击鼠标左键时,ctrl键粘滞所致. 网上搜索解决方案是: 在VMvare中 选择"虚拟机" -> "设置" ...

  5. 计算机键盘时好时坏,机子的CTRL键时好时坏?

    2009-07-22 在我电脑显示器的角落处有个输入法图框.很是烦人.特别是玩某些游戏时(开窗口模式),还不停的在那里闪烁....请问怎么才能把它从桌面上去掉.(Ctrl+空格键不管用的)..先谢谢了 ...

  6. [linux] macbook pro外界键盘更换command与ctrl键功能

    系统偏好设置--键盘--修饰键--akko / usb 一个蓝牙 一个外接,control和command对应的互换一下即可复制粘贴.

  7. macbook pro外界键盘更换command与ctrl键功能

    2019独角兽企业重金招聘Python工程师标准>>> 这样,你用外接键盘就可以使用ctrl+c,ctrl+v了,连接上外接显示器就爽歪哇了. 转载于:https://my.osch ...

  8. linux交换capslock键和ctrl键

    在~/.profile文件里添加 /usr/bin/setxkbmap -option "ctrl:swapcaps" 保存退出, 重启计算机, 搞定

  9. 键盘Ctrl键坏了,用注册表来修

    作者:iamlaosong 朋友的笔记本电脑的Ctrl键坏了,常用的Ctrl+C和Ctrl+V用不了(临时用右键菜单中的复制粘贴代替),给日常工作带来很大不便.网上找了一下解决办法,发现比较简单的办法 ...

最新文章

  1. 【自然框架】稳定版beta1——源码下载,Demo说明
  2. 在批处理中运行.sql文件
  3. 图解matlab基本操作
  4. LeetCode 1004.最长连续1的个数
  5. 电脑计算机的硬盘那些可以删除吗,我的电脑出现多个可移动磁盘该怎么删除?...
  6. eclipse html自动编译,eclipse不自动编译解决方法 不编译要怎么办
  7. Android 多线程之几个基本问题
  8. session机制和cookie机制
  9. MacOSX环境上的多个Java JDK
  10. bash给脚本加进度条_shell脚本实现多彩进度条
  11. CF385C Bear and Prime Numbers 数学
  12. AJPFX总结String类的特点
  13. Linux 的软件管理及配置 - 安装、卸载、升级、依赖
  14. html5经纬度定位 源码_HTML5教程 如何获取当前位置的经纬度
  15. hdu 5285 wyh2000 and pupil 二分图染色发判定,求最大匹配
  16. 面试常考题——LRU缓存题解
  17. ValidateCode源码
  18. linux lightdm自动登录,设置了XFCE/lightDM启用自动登录,还是需要'点击'登录两字才能进入桌面...
  19. Arch Linux折腾记
  20. @Android程序员今年必看!!拖更了三年带回了一个抖音,虎牙,哔哩哔哩都在用的库|墙裂推荐

热门文章

  1. 虚拟网卡与物理网卡TCP协议数据传输对比
  2. SQLServer创建用户自定义数据库用户
  3. 一问就想不起来的问题,来看看?
  4. 测试人员必学的软件快速测试方法(三)
  5. 网络编程(发送get和post请求到服务器端,并获取响应)
  6. Nagios 监控系列学习 —— 简介和安装
  7. laravel实现数据库读写分离配置或者多读写分离配置
  8. mysql数据库同步 debug
  9. 插入,冒泡,选择,快速排序,二分查找
  10. 黑马lavarel教程---5、模型操作(AR模式)