C# 移动TreeView的节点的类.
来源:互联网 发布:产品经理必备的软件 编辑:程序博客网 时间:2024/05/22 16:08
使用方法~~.
- public TreeControlMoveNode m_Move;
- private void Form1_Load(object sender, EventArgs e)
- {
- m_Move = new TreeControlMoveNode(treeView1);
- m_Move.Event_MoveStar += new TreeControlMoveNode.MoveStar(m_Move_Event_MoveStar); ;
- m_Move.Event_MoveOver += new TreeControlMoveNode.MoveOver(m_Move_Event_MoveOver);
- }
- void m_Move_Event_MoveOver(TreeNode e)
- {
- this.Text ="移动完成"+ e.Text;
- }
- void m_Move_Event_MoveStar(TreeNode e, ref bool move)
- {
- this.Text ="开始移动" +e.Text;
- }
下面是全部的类
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Windows.Forms;
- namespace Zgke.WindowFrom.Window.Controls
- {
- /// <summary>
- /// TreeView的节点移动
- /// zgke@sina.com
- /// QQ:116149
- /// </summary>
- public class TreeControlMoveNode
- {
- private bool m_Move = false;
- /// <summary>
- /// 是否能移动子节点
- /// </summary>
- public bool Move { get { return m_Move; } set { m_Move = value; } }
- private TreeNode m_SelectNode;
- public TreeControlMoveNode(TreeView TreeNode)
- {
- TreeNode.MouseDown += new MouseEventHandler(TreeNode_MouseDown);
- TreeNode.MouseUp += new MouseEventHandler(TreeNode_MouseUp);
- TreeNode.MouseMove += new MouseEventHandler(TreeNode_MouseMove);
- m_Move = true;
- }
- public delegate void MoveStar(TreeNode e,ref bool move);
- public event MoveStar Event_MoveStar;
- public delegate void MoveOver(TreeNode e);
- public event MoveOver Event_MoveOver;
- private void TreeNode_MouseDown(object sender, MouseEventArgs e)
- {
- if (!m_Move) return;
- if (e.Button == MouseButtons.Left)
- {
- TreeView _Tree = (TreeView)sender;
- m_SelectNode = _Tree.GetNodeAt(e.X, e.Y);
- bool _Move=true;
- if (m_SelectNode != null)
- {
- Event_MoveStar(m_SelectNode,ref _Move);
- }
- if (!_Move) m_SelectNode = null;
- }
- }
- private void TreeNode_MouseMove(object sender, MouseEventArgs e)
- {
- if (!m_Move) return;
- if (m_SelectNode == null) return;
- if (e.Button == MouseButtons.Left)
- {
- TreeView _Tree = (TreeView)sender;
- TreeNode _Node = _Tree.GetNodeAt(e.X, e.Y);
- if (_Node == null) return;
- if (_Node.Equals(m_SelectNode)) return;
- if (!_Node.IsExpanded) _Node.Toggle();
- _Tree.SelectedNode = _Node;
- }
- }
- private void TreeNode_MouseUp(object sender, MouseEventArgs e)
- {
- if (!m_Move) return;
- if (m_SelectNode == null) return;
- if (e.Button == MouseButtons.Left)
- {
- TreeView _Tree = (TreeView)sender;
- TreeNode _Node = _Tree.GetNodeAt(e.X, e.Y);
- if (_Node == null) return;
- if (_Node.Equals(m_SelectNode)) return;
- m_SelectNode.Remove();
- _Node.Nodes.Add(m_SelectNode);
- Event_MoveOver(m_SelectNode);
- }
- }
- }
- }
- C# 移动TreeView的节点的类.
- .net C# Treeview的Node拖动,Node节点上下移动
- .net C# Treeview的Node拖动,Node节点上下移动
- .net C# Treeview的Node拖动,Node节点上下移动
- .net C# Treeview的Node拖动,Node节点上下移动
- .net C# Treeview的Node拖动,Node节点上下移动
- .net C# Treeview的Node拖动,Node节点上下移动收藏
- C# TreeView 节点的自定义绘制
- c# treeview 节点的全选/取消
- C#实现treeview节点上下左右自由移动
- C# TreeView树节点上下移动
- C#实现treeview节点上下左右自由移动
- Treeview的Node拖动,Node节点上下移动
- ASP.NET treeview 树控件的节点上下移动
- sqlserver实现对TreeView节点上下移动的排序功能
- TreeView的三级节点
- C#中Winform的Treeview节点"正在展开..."的效果
- C#中Winform的Treeview节点"正在展开..."的效果
- C++中异常处理中的构造和析构
- oracle 修改 sequence 数值
- 一段调用游戏call的代码
- ★什么是index的leading column(索引的前导列)?
- 基于工作流的协同管理客户价值
- C# 移动TreeView的节点的类.
- 一个非常经典的ERP教程
- 以完美品质为生命.以顾客满意为灵魂
- 进度。常用的开发套路。
- 用 Graphviz 可视化函数调用
- Linux 设备分配清单(kernel:2.6+)
- 关于ExtJS切换主题的问题
- hibernate主键生成方式 & sequence列在hibernate中的配置
- 如何分析资产负债表、损益表、现金流量表、财务报告