2016-06-29 2 views
0

Я хочу создать древовидную структуру, чтобы отобразить все квадраты, найденные на изображении, и его цвета в каждом квадранте. Если он увидит один и тот же цветной квадрат, он все равно добавит, потому что он выполняет обработку изображений для каждого кадра.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 цвета, найденные в квадрантах.

Может ли кто-нибудь мне помочь? Как искать дочерние узлы и сравнивать их?

+0

WPF? ASP? WinForms? Универсальное приложение? Правильно используйте теги. – taffer

+0

Это C# Windows Forms –

ответ

0

Я бы сохранил плоское представление вашего дерева в памяти и проверил его, чтобы проверить, соответствуют ли какие-либо дочерние узлы. Когда вы добавите узел в дерево, добавьте его в список.

+0

как я могу это сделать? –

Смежные вопросы