这个是我写的代码中的一部分。
主要是对一个treeview控件当双击其中的一个节点时。把节点的内容显示在label3上主要问题是。每次单击某个节点时。la'bel3上显示的居然是上次点击过的节点的内容。
请大虾们不吝赐教。。showTheTree.Nodes.Add(treeNode20);
            showTheTree.SelectedNode = treeNode20;
            showTheTree.NodeMouseClick += new TreeNodeMouseClickEventHandler(showTheTree_NodeMouseClick);
        }
            public void showTheTree_NodeMouseClick(object sender,EventArgs e){
                TreeView theSender = (TreeView)sender;
               //string s =  showTheTree.SelectedNode.Name;
                String s = "足球: ";
                if (isNews)
                {
                    s = "新闻: ";
                }
                label3.Text = s+theSender.SelectedNode.Text;
                //label3.Text = "news";            }

解决方案 »

  1.   

    例如treeView1_AfterSelect都是点击后触发的事件。
    你可以添加断点,自己体会一下,我开始用的时候也很蒙,
    this.treeView1.Click += new System.EventHandler(this.treeView1_Click);
    this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
    这两个事件先后顺序不同
      

  2.   

    对,应该使用AfterSelect事件
    public void showTheTree_AfterSelect(object sender,EventArgs e)
    {
      //其他操作
      label3.Text = e.Node.Text;
    }
      

  3.   

    losthold(呵呵) 
    是對的!