TeeView中实现节点的上下移动(C#)

private void menuItem3_Click(object sender, System.EventArgs e)
  {
   if(this.treeView1.SelectedNode.Parent!=null)
   {
    this.treeView1.BeginUpdate();
    int j= getSelectIndex();
    int tempindex = j;
    TreeNodeCollection tempNodes = this.treeView1.SelectedNode.Parent.Nodes;
    TreeNode tempNode;
    if(j>0)
    {
     for(int i=0;i<tempNodes.Count;i++)
     {
      
      if(0==j-1)
      {
       tempNode = tempNodes[1];
       tempNodes[1].Remove();
       tempNodes.Add( tempNode);

      }
      else if(0==j)
      {
       tempNode = tempNodes[0];
       tempNodes[0].Remove();
       tempNodes.Add( tempNode);
      }
      else
      {
       tempNode = tempNodes[0];
       tempNodes[0].Remove();
       tempNodes.Add( tempNode);
      }
      j--;
     }
    }
    this.treeView1.SelectedNode = tempNodes[tempindex-1];
    this.treeView1.EndUpdate();

   }


  }
  private int getSelectIndex()
  {
   if(this.treeView1.SelectedNode.Parent!=null)
   {
    TreeNodeCollection tempNodes = this.treeView1.SelectedNode.Parent.Nodes;
    for(int i=0;i<tempNodes.Count;i++)
    {
     if( tempNodes[i]==this.treeView1.SelectedNode)
      return i;
    }

   }
   return -1;
  }

  private void menuItem4_Click(object sender, System.EventArgs e)
  {
   if(this.treeView1.SelectedNode.Parent!=null)
   {
    this.treeView1.BeginUpdate();
    int j= getSelectIndex();
    int tempindex = j;
    TreeNodeCollection tempNodes = this.treeView1.SelectedNode.Parent.Nodes;
    TreeNode tempNode;
    if(j<tempNodes.Count-1)
    {
     for(int i=0;i<tempNodes.Count;i++)
     {
      
      if(0==j)
      {
       tempNode = tempNodes[1];
       tempNodes[1].Remove();
       tempNodes.Add( tempNode);

      }
       //      else if(0==j)
       //      {
       //       tempNode = tempNodes[0];
       //       tempNodes[0].Remove();
       //       tempNodes.Add( tempNode);
       //      }
      else
      {
       tempNode = tempNodes[0];
       tempNodes[0].Remove();
       tempNodes.Add( tempNode);
      }
      j--;
     }
    }
    this.treeView1.SelectedNode = tempNodes[tempindex+1];
    this.treeView1.EndUpdate();
   }
  }

阅读更多
文章标签: c# object null
想对作者说点什么? 我来说一句

用C#实现封装

-

学院

1970年01月01日 08:00

net C# Treeview的Node拖动

2011年12月18日 268KB 下载

没有更多推荐了,返回首页

不良信息举报

TeeView中实现节点的上下移动(C#)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭