treeView1.Nodes.Find找到node,然后selected设为true,然后expand

解决方案 »

  1.   

    可以整理下在优化下
     private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                string text = comboBox1.SelectedItem.ToString();
                TreeNode node = new TreeNode(text);
                node.Name = text;
                if (treeView1.Nodes.Find(node.Name, true).Length > 0)
                {
                    treeView1.Nodes.Find(node.Name, true)[0].Checked = true;
                    if (treeView1.Nodes.Find(node.Name, true)[0].Parent != null)
                    {
                        treeView1.Nodes.Find(node.Name, true)[0].Parent.Expand();
                    }
                }
            }
      

  2.   

    第一 我的节点Name和Text是一样的(我只是测试我的想法)
    第二 你明白我的做法没?不是要你照搬,是你按照我的方法结合你的实际数据和需求去做修改。
    我不知道你的需求也不知道你的数据,我怎么可能写一个,拉copy过去就不错错的呢。控件名称也不一样啊
      

  3.   

    treeView1.Nodes.Find(node.Name, true)中的true哪里得来的,这边就执行不下去,跳过if下面语句了
      

  4.   


    treeView1.Nodes.Find()这个方法什么意思 或者说你Find的时候看提示需要的参数是什么?再结合你的实际看看为什么没有执行if ?
      

  5.   

    我知道这个true哪里得来的?就是Key?怎么得到的,还是绑树的时候就要加进去?
      

  6.   

    bool searchAllChildren这个是什么!
      

  7.   


    searchAllChildren 看字面意思就是查询所有子节点 bool类型说明就是问你是否需要查询人家的方法有注释的你看看啊 哥哥