//Función para dibujar las ramas de los nodos izquierdo y derecho public void DibujarRamas(Graphics grafo, Pen Lapiz) { if (Izquierdo != null)// Dibujará rama izquierda { grafo.DrawLine(Lapiz, CoordenadaX, CoordenadaY, Izquierdo.CoordenadaX, Izquierdo.CoordenadaY); Izquierdo.DibujarRamas(grafo, Lapiz); } if (Derecho != null)// Dibujará rama derecha { grafo.DrawLine(Lapiz, CoordenadaX, CoordenadaY, Derecho.CoordenadaX, Derecho.CoordenadaY); Derecho.DibujarRamas(grafo, Lapiz); } }
//Función para dibujar árbol binario public void DibujarArbol(Graphics grafo, Font fuente, Brush Relleno, Brush RellenoFuente, Pen Lapiz, Brush encuentro) { int x = 400; // Posiciones de la raíz del árbol int y = 75; if (Raiz == null) { return; } Raiz.PosicionNodo(ref x, y); //Posición de cada nodo Raiz.DibujarRamas(grafo, Lapiz); //Dibuja los Enlaces entre nodos //Dibuja todos los Nodos Raiz.DibujarNodo(grafo, fuente, Relleno, RellenoFuente, Lapiz, encuentro); }