c#中点击treeview的节点时怎样随意的更改treeview中节点的文字,请高手指点

解决方案 »

  1.   

     treeView1.LabelEdit = true;    private void treeView1_MouseUp(object sender, MouseEventArgs e)
            {
                TreeNode _Node =treeView1.GetNodeAt(e.X, e.Y);
                _Node.BeginEdit();
            }       
      

  2.   

    可以参照下面代码,//需要设置
    treeView.LabelEdit = true;
    //注册节点修改事件
    this.treeView.BeforeLabelEdit += new NodeLabelEditEventHandler(treeView_BeforeLabelEdit);
    this.treeView.AfterLabelEdit += new NodeLabelEditEventHandler(treeView_AfterLabelEdit);void treeView_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
            {
                if (e.Label != null && e.Label.Trim() != "")//有修改,修改内容不为空
                {
                    e.Node.EndEdit(false);
                    e.Node.Text = e.Label;            }
                else
                {
                    e.CancelEdit = true;
                }
            }        
            
            void treeView_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e)
            {
                if (e.Node.Parent == null)//|| e.Node.Parent.Parent == null)//这里假设不允许修改根节点
                {
                    e.CancelEdit = true;
                }
            }