Пример #1
0
        private void tvAccidentes_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            Stack <string> nodos = new Stack <string>();
            TreeNode       nodo  = e.Node;

            nodos.Push(nodo.Name);
            if (nodo.Parent != null)
            {
                nodo = nodo.Parent;
                nodos.Push(nodo.Name);
            }
            string peek;
            bool   find = false, find2 = false;
            HashSet <Masslabelling.Region> reg = map.Regiones;

            Masslabelling.Region sal = new Masslabelling.Region();
            while (nodos.Count > 0)
            {
                peek = nodos.Pop();
                for (int i = 0; i < reg.Count && !find; i++)
                {
                    sal = reg.ElementAt(i);
                    if (sal.Nombre == peek)
                    {
                        find = true;
                        if (sal.Hijos != null && sal.Hijos.Count > 0)
                        {
                            reg = sal.Hijos;
                        }
                    }
                }
            }
            poligono = sal;
            pbMapa.Refresh();
        }
Пример #2
0
        private TreeNode fillTree(Masslabelling.Region R)
        {
            TreeNode tn = new TreeNode();

            tn.Name = R.Nombre;
            tn.Text = R.Nombre;
            if ((R.Hijos != null) && (R.Hijos.Count > 0))
            {
                foreach (Masslabelling.Region h in R.Hijos)
                {
                    tn.Nodes.Add(fillTree(h));
                }
            }

            return(tn);
        }