用键盘上下左右键和ctrl键移动TreeView节点
生活随笔
收集整理的這篇文章主要介紹了
用键盘上下左右键和ctrl键移动TreeView节点
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
/// <summary>/// 用鍵盤上下左右鍵和ctrl鍵移動節(jié)點 /// 思路:現(xiàn)復(fù)制2個選中的節(jié)點。1.為了記住第一次選中節(jié)點位置,2在上移過程中現(xiàn)將令一個插入指定位置,/// 然后將選中節(jié)點移除/// </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;}}}
?
轉(zhuǎn)載于:https://www.cnblogs.com/Ruiky/archive/2013/02/20/2918324.html
總結(jié)
以上是生活随笔為你收集整理的用键盘上下左右键和ctrl键移动TreeView节点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SharePoint 【架构系列】--
- 下一篇: cmd.exe命令行方式执行matlab