关闭

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

534人阅读 评论(0) 收藏 举报

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();
   }
  }

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5072次
    • 积分:103
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章分类