用键盘上下左右键和ctrl键移动TreeView节点
生活随笔
收集整理的這篇文章主要介紹了
用键盘上下左右键和ctrl键移动TreeView节点
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/// <summary>/// 用鍵盤(pán)上下左右鍵和ctrl鍵移動(dòng)節(jié)點(diǎn) /// 思路:現(xiàn)復(fù)制2個(gè)選中的節(jié)點(diǎn)。1.為了記住第一次選中節(jié)點(diǎn)位置,2在上移過(guò)程中現(xiàn)將令一個(gè)插入指定位置,/// 然后將選中節(jié)點(diǎn)移除/// </summary>/// <param name="treeView">treeview</param>/// <param name="e">鍵盤(pán)的按鍵</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节点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SharePoint 【架构系列】--
- 下一篇: cmd.exe命令行方式执行matlab