概述:
就是要使用TreeView控件实现类似“Windows 资源管理器”的功能,选中某个节点以后,点击右键可以弹出上下文菜单,选中[重命名],即节点整个文本被选中,并可在上面编辑。注意问题:
1.右键上下文菜单的事件机制是怎么帮定的。
2.在Vs2005里使用给TreeView的TreeNode节点绑定ContextMenuStrip的方式该如何实现?
3.ContextMenuStrip里的Click事件的机制是怎么弄的?高分-急-顶者有分-圆满解决可另开贴答谢!!

解决方案 »

  1.   

    1:将TreeView的LableEdit属性设置为True.
    2:2005没用过。
      

  2.   

    to Knight94(愚翁) :
       
        winform
      

  3.   

    winform在mousedown事件中,根据参数e.X,e.Y来获得TreeNode节点,然后根据节点信息去动态绑定ContextMenuStrip,以及每个menuitem的click事件;
      

  4.   

    在鼠标右键的事件中判断,当鼠标移动到某个节点时,弹出控件。
    对第3个问题:
    3.ContextMenuStrip里的Click事件的机制是怎么弄的?
    不知道你想知道什么,如果是怎么做的,问微软吧!
      

  5.   

    TO jedliu(21世纪什么最贵? 人才!) :
       我的意思就是怎么绑定的事件。
      

  6.   

    2003理womdows裡我可幫你搞定,其它就不行了
      

  7.   

    TO cnjack(龙飞九天) :
       有2003的例子也行啊
      

  8.   

    http://www.cnblogs.com/justinw/archive/2006/04/27/386125.html
      

  9.   

    //节点重命名
    private void menuItemRename_Click(object sender, System.EventArgs e)
    {
    TreeNode mySelectedNode=treeView.SelectedNode;
    if (mySelectedNode!=null)
    {
    treeView.SelectedNode=mySelectedNode;
    treeView.LabelEdit=true;
    mySelectedNode.BeginEdit();
    }
    else
    MessageBox.Show("No tree node selected .\n","Invalid selection");
    }
      

  10.   

    右键上下文菜单的事件机制是怎么帮定的?
    1、在form中增加一個ContextMenu及相關的菜單項及代碼
    2、在TreeView中的ContextMenu屬性下拉框中選擇你綁定的ContextMenu菜單
    3.ok
    程序運行時,在Treeview中右擊,則會彈出ContextMenu屬性綁定的ContextMenu菜單
      

  11.   

    在vs2005我自己做有这个控件,.cn,需要的联系我
      

  12.   

    是不是我理解错你的意思,这个功能应该说是比较容易实现的。
    我的一个软件包含有这项共能,
    http://blog.csdn.net/zhzuo/archive/2005/12/04/543278.aspx
    如果是连接里面的那个重命名功能,我可以给你写个demo,
    需要下载软件确认可以通过,
    http://blog.csdn.net/zhzuo/archive/2005/12/04/543270.aspx
      

  13.   

    我这有个右键弹出菜单的DEMO
    private void tvwLeft_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
    {
       if(e.Button==MouseButtons.Right)
          {
    TreeNode node=this.tvwLeft.GetNodeAt(e.X,e.Y);
      if(node==null)
         {
    return;
         }
    this.cmPlan.Show(this.tvwLeft,new System.Drawing.Point(e.X,e.Y));
          }
    }
      

  14.   

    菜单点击修改代码
    private void menuItem1_Click(object sender, System.EventArgs e)
    {
       this.treeView1.LabelEdit=true;
       if(!this.treeView1.SelectedNode.IsEditing)
    {
        this.treeView1.SelectedNode.BeginEdit();
    }
    }
      

  15.   

    zhzuo(秋枫) :
    能不能把你的软件的树部分的功能给我个DEMO ^_^另外,你可以用我刚做的托拽组件来给你的树加上托拽功能。Http://justinw.cnblogs.com
      

  16.   

    已经发到你邮件了。
    功能包括对选中不同类型的TreeNode弹出不同的菜单。