SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: Sined99 en Lunes 4 de Abril de 2011, 16:00

Título: dibujar en un picture box, cuando aparece el Form
Publicado por: Sined99 en Lunes 4 de Abril de 2011, 16:00
Hola, muy buenas a tod@s, tengo un problemilla dibujando en un picturebox, os cuento, tengo un picture box, que quiero que se redibuje cuando cambie el texto de una label, bien hasta ahi lo tengo, el problema es que quiero que al mostrarse la pantalla ya se muestre el picture box dibujado y no que tenga que esperar a un cambio en el texto en la label, he probado escribir despues del constructor "picturexbox.refresh()", tambien he intentado a cambiar el valor inicial del label para que ejecutara el metodo de dibujar en el picture box pero nada no funciona nada, como es logico tambien he llamado al metodo para dibujar el picture box y nada... ¿¿alguna idea??

Muchas gracias
Título: Re: dibujar en un picture box, cuando aparece el Form
Publicado por: javierkcjm en Martes 5 de Abril de 2011, 18:44
Amigo,

seria bueno que postearas el codigo, ya que si llamas el metodo de dbujar el control en el load del formulario deberia funcionar segurmante algo estas obviando

Saludos
Título: Re: dibujar en un picture box, cuando aparece el Form
Publicado por: Sined99 en Jueves 7 de Abril de 2011, 09:18
Cita de: "javierkcjm"
Amigo,

seria bueno que postearas el codigo, ya que si llamas el metodo de dbujar el control en el load del formulario deberia funcionar segurmante algo estas obviando

Saludos


Muchas gracias por responder este es mi codigo:
Código: C#
  1.  
  2.     private void Pantalla_R_Load(object sender, EventArgs e)
  3.         {
  4.             dibujar();
  5.         }
  6.  
  7.  
  8.  
  9.  public void dibujar()
  10.         {
  11.             //Funcion que dibuja en un picture box
  12.  
  13.             x_centro = pbox_grados_rotonda.Size.Width / 2;
  14.             y_centro = pbox_grados_rotonda.Size.Height;
  15.  
  16.             pbox_grados_rotonda.Refresh();
  17.             angulo = Convert.ToInt32(Variables_Globales.MW_valor[351]);
  18.             radianes = ((angulo) * Variables_Globales.pi ) / 180;
  19.            grafico = pbox_grados_rotonda.CreateGraphics();
  20.             pen = new Pen(Color.Red, 6);
  21.             pen.StartCap = LineCap.ArrowAnchor;
  22.             grafico.DrawLine(pen, coordenada_x(x_centro, radio, radianes), coordenada_y(y_centro, radio, radianes), x_centro, y_centro);
  23.  
  24.             pen = new Pen(Color.White, 2);
  25.  
  26.  
  27.             grafico.DrawArc(pen, 0, Convert.ToInt32(pbox_grados_rotonda.Height / 2), pbox_grados_rotonda.Width, pbox_grados_rotonda.Height, 180, 180);
  28.          
  29.               pen.Dispose();
  30.             grafico.Dispose();
  31.                 }
  32.  
  33.  

Y la llamada a ese form es:

Código: C#
  1.  
  2.  
  3.   Pantalla_R p = new Pantalla_R();
  4.             p.Show();
  5.  
  6.  


Si de despues de p.show() hago p.dibujar() si que se ve el dibujo en el picturebox, tambien he probado a hacer la llamada desde el constructor de la clase, pero tampoco se me ve la  el dibujo en el picturebox al cargarse el form, ¿Alguna idea?


Muchas gracias, un saludo.