コード例 #1
0
 public void DibujarRamas(Graphics grafo, Pen Lapiz)
 {
     if (IZQ != null)
     {
         grafo.DrawLine(Lapiz, CoordenadaX, CoordenadaY, IZQ.CoordenadaX, IZQ.CoordenadaY);
         IZQ.DibujarRamas(grafo, Lapiz);
     }
     if (DER != null)
     {
         grafo.DrawLine(Lapiz, CoordenadaX, CoordenadaY, DER.CoordenadaX, DER.CoordenadaY);
         DER.DibujarRamas(grafo, Lapiz);
     }
 }
コード例 #2
0
        public void PosicionNodo(ref int xmin, int ymin)
        {
            int aux1, aux2;

            CoordenadaY = (int)(ymin + Radio / 2);

            if (IZQ != null)
            {
                IZQ.PosicionNodo(ref xmin, ymin + Radio + DistanciaV);
            }
            if (IZQ != null && DER != null)
            {
                xmin += DistanciaH;
            }
            if (DER != null)
            {
                DER.PosicionNodo(ref xmin, ymin + Radio + DistanciaV);
            }
            if (IZQ != null && DER != null)
            {
                CoordenadaX = (int)((IZQ.CoordenadaX + DER.CoordenadaX) / 2);
            }
            else if (IZQ != null)
            {
                aux1            = IZQ.CoordenadaX;
                IZQ.CoordenadaX = CoordenadaX - 80;
                CoordenadaX     = aux1;
            }
            else if (DER != null)
            {
                aux2            = DER.CoordenadaX;
                DER.CoordenadaX = CoordenadaX + 80;
                CoordenadaX     = aux2;
            }
            else
            {
                CoordenadaX = (int)(xmin + Radio / 2);
                xmin       += Radio;
            }
        }
コード例 #3
0
        public void DibujarNodo(Graphics grafo, Font fuente, Brush Relleno, Brush RellenoFuente, Pen Lapiz, Brush encuentro)
        {
            Rectangle rect   = new Rectangle((int)(CoordenadaX - Radio / 2), (int)(CoordenadaY - Radio / 2), Radio, Radio);
            Rectangle prueba = new Rectangle((int)(CoordenadaX - Radio / 2), (int)(CoordenadaY - Radio / 2), Radio, Radio);

            grafo.FillEllipse(encuentro, rect);
            grafo.FillEllipse(Relleno, rect);
            grafo.DrawEllipse(Lapiz, rect);

            StringFormat formato = new StringFormat();

            formato.Alignment     = StringAlignment.Center;
            formato.LineAlignment = StringAlignment.Center;
            grafo.DrawString(dato.ToString(), fuente, RellenoFuente, CoordenadaX, CoordenadaY, formato);

            if (IZQ != null)
            {
                IZQ.DibujarNodo(grafo, fuente, Relleno, RellenoFuente, Lapiz, encuentro);
            }
            if (DER != null)
            {
                DER.DibujarNodo(grafo, fuente, Relleno, RellenoFuente, Lapiz, encuentro);
            }
        }