我有一个TreeView,我随意点一个节点,我如何判断它上面有几个父节点,它下面有几个子节点。请各位师哥代码指教!

解决方案 »

  1.   

    treenode.depth判断节点层数,treenodeChildNodes.count得到子节点个数
      

  2.   

    tvBreed.SelectedNode 没有treenodeChildNodes.count这个属性啊
      

  3.   

    tvBreed.SelectedNode.ChildNodes.Count确实没这个属性!您那里能点出来吗!没有ChildNodes属性!我用的是VS2005
      

  4.   


    试试这个吧:页面一加载时候: private void Form1_Load(object sender, EventArgs e)
            {
                this.treeView1.ExpandAll();
            }再写treeView1的点击事件: private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {
                List<TreeNode> nodeList = new List<TreeNode>();
                string key = this.treeView1.SelectedNode.Text;
                FindNode(this.treeView1, key, nodeList);
                MessageBox.Show(nodeList[0].Nodes.Count.ToString(), "提示");
            }接着写两个方法: #region 求子节点个数
            private void Find(TreeNode node, string key, List<TreeNode> resList)
            {
                if (node.Text.Equals(key))
                {
                    resList.Add(node);
                }
                for (int i = 0; i < node.Nodes.Count; i++)
                {
                    Find(node.Nodes[i], key, resList);
                }
            }
            private void FindNode(TreeView treeView, string key, List<TreeNode> resList)
            {            for (int i = 0; i < treeView.Nodes.Count; i++)
                {
                    Find(treeView.Nodes[i], key, resList);
                }
            }        #endregion
      

  5.   

    treeview.selectedNode.level可以知道他有几个父节点
    treeview.selectedNode.Nodes.Count可以知道他有几个子节点
      

  6.   

    如果选中的节点不为null
    {
        选中节点的depth//父节点数
        选中节点的ChildNodes.Count//子节点数
    }
      

  7.   


    其实不用这么麻烦,
    看看下面的就可以了吧 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {
                string str = "子节点个数:" + treeView1.SelectedNode.Nodes.Count.ToString();
                str += "\n 父节点的个数:"+treeView1.SelectedNode.Level.ToString(); 
                MessageBox.Show(str, "提示");
    }
      

  8.   

    treeView1.SelectedNode.Level.ToString();  这个可以,我测试了,谢谢楼上
      

  9.   

    treeView1.SelectedNode.Level 我知道这个能查出来父节点的个数!我是想这样
    for (int i = 0; i < treeView1.SelectedNode.Level; i++)
    {
         MessageBox.Show(treeView1.SelectedNode.Parent.Text);//显示父节点的名称
    }
      

  10.   

    Winform: this.treeView1.SelectedNode.Nodes.Count是子节点的个数
    WPF:this.treeView1.SelectedItem.Items.Count 是子节点的个数
    不懂问我:[email protected]
    MSN:[email protected]
      

  11.   

    这样试试看
    Node node=treeView1.SelectedNode;
    int i=0;
    while (i < treeView1.SelectedNode.Level)
    {
        node=node.Parent;
        MessageBox.Show(node.Text);//显示父节点的名称
         i++;
    }