zoukankan      html  css  js  c++  java
  • 通过键盘方向键控制TreeView节点的移动

    本文转载:http://dengzebo.blog.163.com/blog/static/18867406201032141932204/

    View Code
         #region "控制树节点移动,向左右下上"
            /// <summary>
            
    /// 通过Ctrl+键盘移动选定的树节点
            
    /// </summary>
            
    /// <param name="TreeView1">要编辑的TreeView控件</param>
            
    /// <param name="eKeys">The <see cref="System.Windows.Forms.KeyEventArgs"/>KeyEventArgs为按键事件提供数据</param>
            public void MoveSelectNode(TreeView TreeView1, KeyEventArgs eKeys)
            {
                try
                {
                    if (TreeView1.SelectedNode == null)
                    {
                        return;
                    }

                    try
                    {
                        if (eKeys.KeyCode == Keys.Up && eKeys.Control == true)
                        {
                            TreeNode TN = new TreeNode();
                            TN = TreeView1.SelectedNode;
                            TreeNode TempNode = (TreeNode)TreeView1.SelectedNode.Clone();
                            if (TreeView1.SelectedNode.PrevNode == null)
                            {
                                return;

                            }
                            if (TN.Parent == null)
                            {
                                TreeView1.Nodes.Insert(TN.Index - 1, TempNode);
                            }
                            else
                            {
                                TN.Parent.Nodes.Insert(TN.Index - 1, TempNode);
                            }

                            TreeView1.SelectedNode.Remove();
                            TreeView1.SelectedNode = TempNode;
                        }

                        else if (eKeys.KeyCode == Keys.Down && eKeys.Control == true)
                        {
                            TreeNode TN = new TreeNode();
                            TN = TreeView1.SelectedNode;
                            TreeNode TempNode = (TreeNode)TreeView1.SelectedNode.Clone();
                            if (TreeView1.SelectedNode.NextNode == null)
                            {
                                return;
                            }
                            if (TN.Parent == null)
                            {
                                TreeView1.Nodes.Insert(TN.Index + 2, TempNode);
                            }
                            else
                            {
                                TN.Parent.Nodes.Insert(TN.Index + 2, TempNode);
                            }
                            TreeView1.SelectedNode.Remove();
                            TreeView1.SelectedNode = TempNode;
                        }
                        else if (eKeys.KeyCode == Keys.Left && eKeys.Control == true)
                        {
                            TreeNode TN = new TreeNode();
                            TN = TreeView1.SelectedNode;
                            TreeNode TempNode = (TreeNode)TreeView1.SelectedNode.Clone();
                            if (TreeView1.SelectedNode.Parent == null)
                            {
                                return;
                            }
                            else
                            {
                                if (TreeView1.SelectedNode.Parent.Parent == null)
                                {
                                    TreeView1.Nodes.Add(TempNode);
                                }

                                else
                                {
                                    TN.Parent.Parent.Nodes.Add(TempNode);
                                }
                            }
                            TN.Remove();
                            TreeView1.SelectedNode = TempNode;
                        }
                        else if (eKeys.KeyCode == Keys.Right && eKeys.Control == true)
                        {
                            TreeNode TN = new TreeNode();
                            TN = TreeView1.SelectedNode;
                            TreeNode TempNode = (TreeNode)TreeView1.SelectedNode.Clone();
                            if (TreeView1.SelectedNode.NextNode == null)
                            {
                                return;
                            }
                            TN.NextNode.Nodes.Insert(0, TempNode);
                            TN.Remove();
                            TreeView1.SelectedNode = TempNode;
                        }
                    }
                    catch
                    {

                    }

                }
                catch
                { }

            }

            #endregion
  • 相关阅读:
    利用win10自带的虚拟机Hyper-V安装Centos7的步骤教程
    Java元组Tuple介绍与使用
    Fiddler高级用法-设置断点
    Fiddler高级用法-抓取手机app数据包
    Fiddler基础用法-抓取浏览器数据包
    dig 命令
    curl 命令
    vmware虚拟机三种网络连接方式
    解决虚拟机vmware虚拟机安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题
    linux 文件系统 xfs、ext4、ext3 的区别
  • 原文地址:https://www.cnblogs.com/51net/p/2447452.html
Copyright © 2011-2022 走看看