移动TreeView控件的节点

 

//向上移动

private void upMoveLayer_Click(object sender, EventArgs e)
{
if (treeView2.SelectedNode != null)
{
TreeNode node = treeView2.SelectedNode;
if (node.Index == 0)
{
MessageBox.Show("已经是第一个了!");
return;
}
int locationInde = node.Index;
TreeNode nodeParent = node.Parent;
List<TreeNode> lstNode = new List<TreeNode>();
for (int i = 0; i < nodeParent.Nodes.Count; i++)
{
if (nodeParent.Nodes[i] == node)
{
nodeParent.Nodes.RemoveAt(i);
i--;
continue;
}
lstNode.Add(nodeParent.Nodes[i]);
nodeParent.Nodes.RemoveAt(i);
i--;
}
lstNode.Insert(locationInde - 1, node);
for (int i = 0; i < lstNode.Count; i++)
{
nodeParent.Nodes.Add(lstNode[i]);
}
treeView1.SelectedNode = node;
}
}

//向下移动

if (treeView2.SelectedNode != null)
{
TreeNode node = treeView2.SelectedNode;
TreeNode nodeParent = node.Parent;
if (node.Index == nodeParent.GetNodeCount(false))
{
MessageBox.Show("已经是最后一个了!");
return;
}
int locationInde = node.Index;
List<TreeNode> lstNode = new List<TreeNode>();
for (int i = 0; i < nodeParent.Nodes.Count; i++)
{
if (nodeParent.Nodes[i] == node)
{
nodeParent.Nodes.RemoveAt(i);
i--;
continue;
}
lstNode.Add(nodeParent.Nodes[i]);
nodeParent.Nodes.RemoveAt(i);
i--;
}
lstNode.Insert(locationInde + 1, node);
for (int i = 0; i < lstNode.Count; i++)
{
nodeParent.Nodes.Add(lstNode[i]);
}

treeView1.SelectedNode = node;
}

posted @ 2015-05-04 10:39  狗尾巴儿草  阅读(85)  评论(0)    收藏  举报