用键盘上下左右键和ctrl键移动TreeView节点
2013-02-20 11:22
411 查看
/// <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); else tn.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); else tn.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); else tn.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; } } }
相关文章推荐
- 用键盘上下左右键和ctrl键移动treeview的treenode节点
- 自定义div 拖动。键盘上下左右键移动,ctrl+Q控制是否可以移动,ctrl+回车,返回初始状态
- C#实现treeview节点上下左右自由移动
- .net C# Treeview的Node拖动,Node节点上下移动
- .net C# Treeview的Node拖动,Node节点上下移动收藏
- .net C# Treeview的Node拖动,Node节点上下移动
- MFC基于对话框,在对话框上插入图像控件,在图像控件上,画一个绿色的矩形,按键盘上下左右键,矩形在图像控件上移动移动。分别创建一个文本文件和一个二进制文件,对话框退出时,文档内写入保存退出前的矩形的位
- ASP.NET treeview 树控件的节点上下移动
- 通过键盘方向键控制TreeView节点的移动
- .net C# Treeview的Node拖动,Node节点上下移动
- Treeview的Node拖动,Node节点上下移动
- ASP.NET treeview 节点上下移动
- .net C# Treeview的Node拖动,Node节点上下移动
- C#实现treeview节点上下左右自由移动
- .net C# Treeview的Node拖动,Node节点上下移动
- sqlserver实现对TreeView节点上下移动的排序功能
- .net C# Treeview的Node拖动,Node节点上下移动
- .net C# Treeview的Node拖动,Node节点上下移动
- .net C# Treeview的Node拖动,Node节点上下移动
- C# TreeView树节点上下移动