C#在treeView里怎么指令重排序序号

C# TreeView树节点上下移动
我的图书馆
C# TreeView树节点上下移动
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&private&void&tsbMoveUp_Click(object&sender,&EventArgs&e)&&&&&&&&&{&&&&&&&&&&&&&if&(Tv_tree.SelectedNode&==&null)&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&MessageBox.Show("请选择需要移动的的节点!");&&&&&&&&&&&&&&&&&this.Focus();&&&&&&&&&&&&&&&&&return;&&&&&&&&&&&&&}&&&&&&&&&&&&&folder&&model&=&new&folder();&&&&&&&&&&&&&TreeNode&node&=&Tv_tree.SelectedN&&&&&&&&&&&&&&&&&&model.folderId&=&node.Tag.ToString();&&&&&&&&&&&&&model.TheOrder&=&node.Name.ToString();&&&&&&&&&&&&&if&(node.PrevNode&==&null)&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&return;&&&&&&&&&&&&&}&&&&&&&&&&&&&folder&upModel&=&new&folder();&&&&&&&&&&&&&TreeNode&upNode&=&node.PrevN&&&&&&&&&&&&&&&&&&&&&&&&&upModel.folderId&=&upNode.Tag.ToString();&&&&&&&&&&&&&upModel.TheOrder&=&upNode.N&&&&&&&&&&&&&bool&flag&=&folderOperation.MoveUp(model,&upModel);&&&&&&&&&&&&&&&&&&&&if&(flag)&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&string&theOrder&=&node.N&&&&&&&&&&&&&&&&&node.Name&=&upNode.N&&&&&&&&&&&&&&&&&upNode.Name&=&theO&&&&&&&&&&&&&&&&&TreeNode&newNode&=&(TreeNode)node.Clone();&&&&&&&&&&&&&&&&&&&&&&&if&(node.Parent&==&null)&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&Tv_tree.Nodes.Insert(upNode.Index,&newNode);&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&node.Parent.Nodes.Insert(upNode.Index,&newNode);&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&node.Remove();&&&&&&&&&&&&&&&&&Tv_tree.SelectedNode&=&newN&&&&&&&&&&&&&}&&&&&&&&&&&&&else&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&return;&&&&&&&&&&&&&}&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&private&void&tsbMoveDown_Click(object&sender,&EventArgs&e)&&&&&&&&&{&&&&&&&&&&&&&if&(Tv_tree.SelectedNode&==&null)&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&MessageBox.Show("请选择需要移动的的节点!");&&&&&&&&&&&&&&&&&this.Focus();&&&&&&&&&&&&&&&&&return;&&&&&&&&&&&&&}&&&&&&&&&&&&&folder&model&=&new&folder();&&&&&&&&&&&&&TreeNode&node&=&Tv_tree.SelectedN&&&&&&&&&&&&&&&&&&model.folderId&=&node.Tag.ToString();&&&&&&&&&&&&&model.TheOrder&=&node.Name.ToString();&&&&&&&&&&&&&if&(node.NextNode&==&null)&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&return;&&&&&&&&&&&&&}&&&&&&&&&&&&&folder&downModel&=&new&folder();&&&&&&&&&&&&&TreeNode&dowNode&=&node.NextN&&&&&&&&&&&&&downModel.folderId&=&dowNode.Tag.ToString();&&&&&&&&&&&&&downModel.TheOrder&=&dowNode.N&&&&&&&&&&&&&bool&flag&=&folderOperation.MoveUp(model,&downModel);&&&&&&&&&&&&&if&(flag)&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&string&theOrder&=&node.N&&&&&&&&&&&&&&&&&node.Name&=&dowNode.N&&&&&&&&&&&&&&&&&dowNode.Name&=&theO&&&&&&&&&&&&&&&&&TreeNode&newNode&=&(TreeNode)dowNode.Clone();&&&&&&&&&&&&&&&&&&&&&&&&if&(node.Parent&==&null)&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&Tv_tree.Nodes.Insert(node.Index,&newNode);&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&node.Parent.Nodes.Insert(node.Index,&newNode);&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&dowNode.Remove();&&&&&&&&&&&&&&&&&&&&&&&&&&&&Tv_tree.SelectedNode&=&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&else&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&return;&&&&&&&&&&&&&}&&&&&&&&&}&&&&string&sql&=&string.Format("update&folder&set&theorder&=&'{0}'&where&folderid&=&'{1}'",&model.TheOrder,&upModel.folderId);&&&&&&&&&&&&&string&sql1&=&string.Format("update&folder&set&theorder&=&'{0}'&where&folderid&=&'{1}'",&upModel.TheOrder,&model.folderId);&&[csharp] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&private&void&tvDocInfo_AfterExpand(object&sender,&TreeViewEventArgs&e)&&&&&&&&&&{&&&&&&&&&&&&&&if&(e.Node.Parent&==&null)&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&TreeView&tree&=&(TreeView)&&&&&&&&&&&&&&&&&&tree.AfterCheck&-=&new&TreeViewEventHandler(this.tvDocInfo_AfterExpand);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&TreeNode&parentNode&=&e.Node.P&&&&&&&&&&&&&&&&&&if&(parentNode&!=&null)&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&foreach&(TreeNode&tn&in&parentNode.Nodes)&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&if&(tn&!=&e.Node)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&tn.Collapse();&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&foreach&(TreeNode&tn&in&tree.Nodes)&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&if&(tn&!=&e.Node)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&tn.Collapse();&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&
节点拖拽,必须设置TreeView的AllowDrop属性为T
[csharp] private&Point&Position&=&new&Point(0,&0);&&&&private&void&treeView1_ItemDrag(object&sender,&ItemDragEventArgs&e)&&{&&&&&&DoDragDrop(e.Item,&DragDropEffects.Move);&&}&&&&private&void&treeView1_DragEnter(object&sender,&DragEventArgs&e)&&{&&&&&&if&(e.Data.GetDataPresent(typeof(TreeNode)))&&&&&&&&&&e.Effect&=&DragDropEffects.M&&&&&&else&&&&&&&&&&e.Effect&=&DragDropEffects.N&&}&&&&private&void&treeView1_DragDrop(object&sender,&DragEventArgs&e)&&{&&&&&&TreeNode&myNode&=&null;&&&&&&if&(e.Data.GetDataPresent(typeof(TreeNode)))&&&&&&{&&&&&&&&&&myNode&=&(TreeNode)(e.Data.GetData(typeof(TreeNode)));&&&&&&}&&&&&&else&&&&&&{&&&&&&&&&&MessageBox.Show("error");&&&&&&}&&&&&&Position.X&=&e.X;&&&&&&Position.Y&=&e.Y;&&&&&&Position&=&tvType.PointToClient(Position);&&&&&&TreeNode&DropNode&=&this.tvType.GetNodeAt(Position);&&&&&&if&(FunctionsUI.CreateQuestionDialog("是否要将"+myNode.Text+"移动"+DropNode.Text+"类别下?")&==&DialogResult.OK)&&&&&&{&&&&&&&&&&&&&&&&&&&&if&(DropNode&!=&null&&&&DropNode.Parent&!=&myNode&&&&DropNode&!=&myNode)&&&&&&&&&&{&&&&&&&&&&&&&&TreeNode&DragNode&=&myN&&&&&&&&&&&&&&&&&&&&&&&&&&&&myNode.Remove();&&&&&&&&&&&&&&&&&&&&&&&&&&&&DropNode.Nodes.Add(DragNode);&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&if&(DropNode&==&null)&&&&&&&&&&{&&&&&&&&&&&&&&TreeNode&DragNode&=&myN&&&&&&&&&&&&&&myNode.Remove();&&&&&&&&&&&&&&tvType.Nodes.Add(DragNode);&&&&&&&&&&}&&&&&&}&&}&&
TA的最新馆藏
喜欢该文的人也喜欢C# treeview右键添加,删除,重名字树节点 - CSDN博客
C# treeview右键添加,删除,重名字树节点
首先在Form上添加右键菜单,ConTextMenuStrip设置好菜单的右键弹出项的名字,之后在Treeview设置MouceDown事件,判断是不是右键点击,是的话,在判断是不是选中节点,都满足弹出右键选择菜单。
我的TreeView因为需要设置成的只能有一个节点被选中。
代码如下:
using&System.Collections.G
using&ponentM
using&System.D
using&System.D
using&System.L
using&System.T
using&System.Windows.F
namespace&WindowsFormsApplication1
public&partial&class&Form1
public&Form1()
InitializeComponent();
InitTree();
private&void&InitTree()
node =&new&TreeNode(&base1&);
node2 =&new&TreeNode(&base2&);
treeView1.Nodes.Add(node);
treeView1.Nodes.Add(node2);
node.Nodes.Add(&a&);
node.Nodes.Add(&b&);
node.Nodes.Add(&c&);
node2.Nodes.Add(&d&);
node2.Nodes.Add(&e&);
node2.Nodes.Add(&f&);
private&void&SetNodeCheckStatus(TreeNode
tn, TreeNode node)
tn.Checked
foreach&(TreeNode
tnChild&in&tn.Nodes)
if&(tnChild
tnChild.Checked
SetNodeCheckStatus(tnChild,
private&void&treeView1_AfterCheacked(object&sender,
TreeViewEventArgs e)
if&(e.Action
!= TreeViewAction.Unknown)
foreach&(TreeNode
tnChild&in&treeView1.Nodes)
SetNodeCheckStatus(tnChild,
string&sName
= e.Node.T
private&void&GetSelectNode(TreeNode
if&(tn.Checked
m_NodeName
foreach&(TreeNode
tnChild&in&tn.Nodes)
GetSelectNode(tnChild);
private&void&button1_Click(object&sender,
EventArgs e)
node =&null;
foreach&(TreeNode
tnChild&in&treeView1.Nodes)
GetSelectNode(tnChild);
string&sName
private&void&treeView1_MouseDown(object&sender,
MouseEventArgs e)
if&(e.Button
== MouseButtons.Right)
ClickPoint =&new&Point(e.X,
CurrentNode = treeView1.GetNodeAt(ClickPoint);
if&(CurrentNode
!=&null&&&&true&==
CurrentNode.Checked)
switch&(CurrentNode.Name)
CurrentNode.ContextMenuStrip
= contextMenuStrip1;
treeView1.SelectedNode
= CurrentN
private&String
m_NodeName =&null;
private&void&toolStripMenuItem2_Click(object&sender,
EventArgs e)
treeView1.LabelEdit
treeView1.SelectedNode.BeginEdit();
private&void&toolStripMenuItem1_Click(object&sender,
EventArgs e)
treeView1.LabelEdit
CurrentNode =& treeView1.SelectedNode.Nodes.Add(&Node1&);
treeView1.SelectedNode.Checked
CurrentNode.Checked
CurrentNode.BeginEdit();
private&void&toolStripMenuItem3_Click(object&sender,
EventArgs e)
treeView1.SelectedNode.Remove();
结果如图:
本文出自 “” 博客,请务必保留此出处
本文已收录于以下专栏:
相关文章推荐
(1)要向窗体添加一个TreeView控件
(2)再添加一个ContextMenuStrip控件;
(3)就要给TreeView添加一个MouseDown事件,代码如下:
判断你的TreeNode的Level,根据Level的不同设置不同的右键菜单通常触发的是鼠标点击事件myTreeView.MouseClick += new MouseEventHandler(myT...
最近,使用到了winform的treeview控件,在网上看了好多关于treeview控件使用方法的介绍都不全面。于是我这个菜鸟进行了写了点东西出来,还请高手不要见笑。自此也就当作是自己学习的一种反省...
还是先上效果图:
主要代码如下:using S
using System.Collections.G
他的最新文章
讲师:王禹华
讲师:宋宝华
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 word文档重新排序号 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信