C# - TreeView比较节点

时间:2016-06-29 10:37:20

标签: c# treeview

我想创建一个树视图,列出图像中找到的所有方块及其在每个象限中的颜色。如果它看到相同的彩色方块,它将会添加,因为它会对每个帧进行图像处理。

我的问题是我需要比较树视图中是否已存在子节点的颜色。如果存在,则不要添加节点。

      if (quadrado_detetado == 1)
        {

            tv_lista_quadrados.Nodes.Add("Quadrado Detetado " + 
                                         increamenta_listagem_quadrados);

            if (tv_lista_quadrados.Nodes.Count > 1)
            {
                //Compare the current child node with all child nodes in the treeview ??

       if(//Doesnt Exist)
      //add          
           tv_lista_quadrados.Nodes[increamenta_listagem_quadrados].Nodes.Add
                     ("Cores: " + cores_dos_pontos_medios[0] + " " +
                                  cores_dos_pontos_medios[1] + " " +
                                  cores_dos_pontos_medios[2] + " " +
                                  cores_dos_pontos_medios[3] + " ");
                }

                else
                {
                   //remove this node ??
                }
            }

            increamenta_listagem_quadrados++;
        }

    }

quadrado_detetado是一个整数,表示何时找到一个正方形。

cores_dos_pontos_medios是一个字符串数组,包含象限中的4种颜色。

任何人都可以帮助我吗?如何搜索子节点并进行比较?

1 个答案:

答案 0 :(得分:0)

我会在你的树中保留一个平面列表表示,并搜索它以检查是否有任何子节点匹配。当您向树添加节点时,也将它添加到列表中。