private void toolStripButtonDeshacer_Click(object sender, EventArgs e) //botón deshacer { //Le asignamos a la lista el último valor guardado en la pila listFP = pilaFP.Pop(); //Para dibujar DibujarFP(listFP); }
public void DibujarNuevoFP(ListFlightPlan listfp) //cuando añades algun FP a la lista cal incluir su dibujo en el panel { int i = 0; while (i < listfp.getcount()) { FlightPlan FP = listfp.getposicion(i); //Configuramos los parámetros de la picturebox PictureBox pp = new PictureBox(); pp.Width = 20; pp.Height = 20; pp.ClientSize = new Size(20, 20); //Configuramos los parámetros de la leyenda Label leyenda = new Label(); leyenda.Text = FP.GetID(); // Obtenemos los puntos correspondientes en el panel //Para picturebox int xif = Convert.ToInt32(FP.GetAX()) - 10; int yif = Convert.ToInt32(FP.GetAY()) - 10; Point pDraw = new Point(xif, yif); //Para leyenda int xil = Convert.ToInt32(FP.GetAX()) + 15; int yil = Convert.ToInt32(FP.GetAY()) - 15; Point pLabel = new Point(xil, yil); //Colocamos cada cosa en su punto pp.Location = pDraw; leyenda.Location = pLabel; //Ajustamos y mostramos pp.SizeMode = PictureBoxSizeMode.StretchImage; Bitmap image = new Bitmap("avion.jpg"); pp.Image = (System.Drawing.Image)image; panel1.Controls.Add(pp); imagenes.Add(pp); pp.Click += new System.EventHandler(this.showinfo); pp.Tag = num; num = num + 1; panel1.Invalidate(); leyendas.Add(leyenda); panel1.Controls.Add(leyenda); leyenda.BackColor = Color.Transparent; i++; } }
private void timer1_Tick(object sender, EventArgs e) { //Copiamos la lista para guardarla en la pila ListFlightPlan listacopia = new ListFlightPlan(listFP); pilaFP.Push(listacopia); //Movemos todos los vuelos hasta que hayan llegado todos a su destino listFP.MoverTodos(interval); if (listFP.Hanllegadotodos() == true) { timer1.Stop(); } //Para dibujar el avión DibujarFP(listFP); }
private void toolStripButtoninformacion_Click(object sender, EventArgs e) //botón información vuelos { try { //Abrimos el form, paramos la simulación y le damos (al form) la lista para que pueda coger los datos InformacionVuelosDatagridview f5 = new InformacionVuelosDatagridview(); timer1.Stop(); f5.setlist(listFP); f5.cambiarfondo(fondo); f5.Show(); //Cogemos la lista que nos devuelve el form ya que el usuario puede cambiar la velocidad desde ahí listFP = f5.getlist(); //Dibujar el avión DibujarFP(listFP); } catch (Exception exc) { MessageBox.Show("Error: " + exc.Message); } }
public void DibujarFP(ListFlightPlan listFP) //cuando mueves los FP cal actualizar su posicion en el panel { int i = 0; while (i < listFP.getcount()) { FlightPlan p = listFP.getposicion(i); // Obtenemos los puntos correspondientes en el panel int newxf = Convert.ToInt32(p.GetAX()) - 10; int newyf = Convert.ToInt32(p.GetAY()) - 10; int newxl = Convert.ToInt32(p.GetAX()) + 15; int newyl = Convert.ToInt32(p.GetAY()) - 15; Point pDraw = new Point(newxf, newyf); Point pLabel = new Point(newxl, newyl); //Actualizamos imagenes[i].Location = pDraw; leyendas[i].Location = pLabel; panel1.Refresh(); i = i + 1; } }
public void setlist(ListFlightPlan listfp) //asignamos una lista { this.mylist = listfp; }