private void numericKn(object sender, EventArgs e) { obtenPropiedades(); grafo = new GrafoNoDirigido(grafo); grafo.tipo = 2; asignaPropiedades(); grafo.Clear(); grafo.numN = grafo.Count; quitaNumeric(); quitaTexaux(); quitaPesos(); intercambiaColor = false; Form1_Paint(this, null); }
private void numericWn(object sender, EventArgs e) { obtenPropiedades(); grafo = new GrafoNoDirigido(grafo); grafo.tipo = 2; asignaPropiedades(); grafo.Clear(); grafo.grafoWn((int)numericUpDown3.Value, g); grafo.numN = grafo.Count; quitaNumeric(); quitaPesos(); intercambiaColor = false; agregaPeso.BackColor = Color.Gray; Form1_Paint(this, null); }
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics ga = CreateGraphics(); ga = Graphics.FromImage(bmp1); ga.Clear(BackColor); if (bandF || band) { switch (opcion) { case 1: ga.FillEllipse(grafo.brushN, p1.X - grafo.radio, p1.Y - grafo.radio, grafo.radio * 2, grafo.radio * 2); ga.DrawEllipse(grafo.penN, p1.X - grafo.radio + (grafo.penN.Width / 2), p1.Y - grafo.radio + (grafo.penN.Width / 2), grafo.radio * 2 - (grafo.penN.Width / 2), grafo.radio * 2 - (grafo.penN.Width / 2)); ga.DrawString(nodoP.nombre.ToString(), grafo.font, grafo.brushF, p1.X - 6, p1.Y - 6); break; case 2: if (bandF) { if (nodoP.Equals(nodoAux)) { ga.DrawBezier(grafo.penA, nodoP.centro.X - 15, nodoP.centro.Y - 15, nodoP.centro.X - 20, nodoP.centro.Y - 60, nodoP.centro.X + 20, nodoP.centro.Y - 60, nodoP.centro.X + 15, nodoP.centro.Y - 15); } else { ga.DrawLine(grafo.penA, grafo.BuscaInterseccion(nodoP.centro, nodoAux.centro), grafo.BuscaInterseccion(nodoAux.centro, nodoP.centro)); } } if (band) { ga.DrawLine(grafo.penA, grafo.BuscaInterseccion(nodoP.centro, p2), p2); } break; case 9: if (bandF) { if (nodoP.Equals(nodoAux)) { ga.DrawBezier(grafo.penA, nodoP.centro.X - 15, nodoP.centro.Y - 15, nodoP.centro.X - 20, nodoP.centro.Y - 60, nodoP.centro.X + 20, nodoP.centro.Y - 60, nodoP.centro.X + 15, nodoP.centro.Y - 15); } else { ga.DrawLine(grafo.penA, grafo.BuscaInterseccion(nodoP.centro, nodoAux.centro), grafo.BuscaInterseccion(nodoAux.centro, nodoP.centro)); } } if (band) { ga.DrawLine(grafo.penA, grafo.BuscaInterseccion(nodoP.centro, p2), p2); } break; } bandF = false; } if (bandI) { ga.Clear(BackColor); grafo.ImprimirGrafo(ga, bpar); bandI = false; } if (opcion == 6 || opcion == 7) { ga.Clear(BackColor); grafo.Clear(); grafo.numN = 1; grafo.edoNom = false; if (opcion == 7) { grafo = new Grafo(); } } if (opcion != 6) { if (opcion != 7) { grafo.ImprimirGrafo(ga, bpar); } } g.DrawImage(bmp1, 0, 0); }
private void Panel_Paint(object sender, PaintEventArgs e) { intercambiaColor = false; grafo = new Grafo(); opcion = 0; g = CreateGraphics(); bmp1 = new Bitmap(ClientSize.Width, ClientSize.Height); band = false; bandI = false; bandF = false; bpar = false; arrow = new AdjustableArrowCap(5, 5); timer1.Enabled = false; grafoEspecial = false; Graphics ga = CreateGraphics(); ga = Graphics.FromImage(bmp1); ga.Clear(BackColor); if (bandF || band) { switch (opcion) { case 1: ga.FillEllipse(grafo.brushN, p1.X - grafo.radio, p1.Y - grafo.radio, grafo.radio * 2, grafo.radio * 2); ga.DrawEllipse(grafo.penN, p1.X - grafo.radio + (grafo.penN.Width / 2), p1.Y - grafo.radio + (grafo.penN.Width / 2), grafo.radio * 2 - (grafo.penN.Width / 2), grafo.radio * 2 - (grafo.penN.Width / 2)); ga.DrawString(nodoP.nombre.ToString(), grafo.font, grafo.brushF, p1.X - 6, p1.Y - 6); break; case 2: if (bandF) { if (nodoP.Equals(nodoAux)) { ga.DrawBezier(grafo.penA, nodoP.centro.X - 15, nodoP.centro.Y - 15, nodoP.centro.X - 20, nodoP.centro.Y - 60, nodoP.centro.X + 20, nodoP.centro.Y - 60, nodoP.centro.X + 15, nodoP.centro.Y - 15); } else { ga.DrawLine(grafo.penA, grafo.BuscaInterseccion(nodoP.centro, nodoAux.centro), grafo.BuscaInterseccion(nodoAux.centro, nodoP.centro)); } } if (band) { ga.DrawLine(grafo.penA, grafo.BuscaInterseccion(nodoP.centro, p2), p2); } break; case 9: if (bandF) { if (nodoP.Equals(nodoAux)) { ga.DrawBezier(grafo.penA, nodoP.centro.X - 15, nodoP.centro.Y - 15, nodoP.centro.X - 20, nodoP.centro.Y - 60, nodoP.centro.X + 20, nodoP.centro.Y - 60, nodoP.centro.X + 15, nodoP.centro.Y - 15); } else { ga.DrawLine(grafo.penA, grafo.BuscaInterseccion(nodoP.centro, nodoAux.centro), grafo.BuscaInterseccion(nodoAux.centro, nodoP.centro)); } } if (band) { ga.DrawLine(grafo.penA, grafo.BuscaInterseccion(nodoP.centro, p2), p2); } break; } bandF = false; } if (bandI) { ga.Clear(BackColor); grafo.ImprimirGrafo(ga, bpar); bandI = false; } if (opcion == 6 || opcion == 7) { ga.Clear(BackColor); grafo.Clear(); grafo.numN = 1; grafo.edoNom = false; if (opcion == 7) { grafo = new Grafo(); } } if (opcion != 6) { if (opcion != 7) { grafo.ImprimirGrafo(ga, bpar); } } g.DrawImage(bmp1, 0, 0); }