none
Efecto Expandir un PictureBox RRS feed

  • Pregunta

  • Hola, me gustaria saber si alguien conoce la forma de realizar este efecto. 

    Tengo un picturebox con la miniatura de la imagen y me gustaria poder mostrarla dandole el efecto de expansion, y que se agrandara hasta ocupar la pantalla entera.

    Algo como esto : http://www.lokeshdhakar.com/projects/lightbox2/

    Quisiera saber si es posible hacerlo con C# o si solo se puede hacer con Flash.

     

    Gracias ;)


    miércoles, 29 de junio de 2011 15:00

Respuestas

  • Hola.

    Mira, Prueba este Ejemplo, no es igual al del enlace que mencionas, pero con este Código puedes darte una idea de como Hacerlo.

     private void timer1_Tick(object sender, EventArgs e)
      {
       if (pictureBox1.Height > 200)
    
        timer1.Enabled = false;
       else
       {
        pictureBox1.Top -= 5;
    
        pictureBox1.Height += 10;
       }
    
      timer2.Start();
    
      }
    
      private void timer2_Tick(object sender, EventArgs e)
      {
       if (pictureBox1.Height == 210) 
       pictureBox1.Width += 10;
      
    
      if (pictureBox1.Width > 210)
       timer2.Enabled = false;
      
    
      if (pictureBox1.Top == 26)
       pictureBox1.Left -= 5;
      
      }
    
      private void Form1_Load(object sender, EventArgs e)
      {
       timer1.Start();
      }
    
    Nota: Para hacer este efecto Agregé de esta manera el PictureBox en el Formulario (lo Centras de Forma Vertical y Horizontal), y para la imégen dentro del PictureBox selecciona Stretch

     

     


    Estudiante de Sistemas Informáticos.
    • Marcado como respuesta nictecilla viernes, 1 de julio de 2011 11:10
    miércoles, 29 de junio de 2011 23:17
  • se me ocurre que podrias definir en el evento click del picturebox el lanzar un nuevo form sin bordes de form modal con un pictruebox en el centro

    entonces en tu picturebox haces

    pricate void picturebox_click(..){

       FormPicPreview frm = new FormPicPreview(picturebox.Image);

       frm.ShowDialog();

    }

     

    por supuesto si este form formPicPreviewle quitas los bordes con al propeidad  BorderStyle= None

    public class FormPicPreview{

      private Image imagen = null;

      public FormPicPreview(Image _img){

          imagen= _img;

      }

      private void Form_Load(...){

          PictureBox1.Image = image;

      }

    }

     

    por supuesto el picturebox de este form debe tener la propiedad Dock en Fill para que llene por completo el form

    al hacer click en el pincturebox de este form harias el close del formulario, ya que al no tenee bordes no tendras los controles de cierre

     

    Nota: tambien puedes usar el evento doble click

     

    saludos

     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta nictecilla viernes, 1 de julio de 2011 11:10
    jueves, 30 de junio de 2011 2:32

Todas las respuestas

  • Hola nictecilla

    Puedes crear un nuevo Form del grande de la pantalla y añadir un pictureBox del grande del form con la opcion de imagen Stretch. Es una solución a medias pero puede servir. 

     

    // Para el ancho de la pantalla

    Screen.PrimaryScreen.Bounds.Width

    // Para el alto de la pantalla

    Screen.PrimaryScreen.Bouns.Height


    Antonio Lobo
    Mi Blog
    miércoles, 29 de junio de 2011 23:10
  • Hola.

    Mira, Prueba este Ejemplo, no es igual al del enlace que mencionas, pero con este Código puedes darte una idea de como Hacerlo.

     private void timer1_Tick(object sender, EventArgs e)
      {
       if (pictureBox1.Height > 200)
    
        timer1.Enabled = false;
       else
       {
        pictureBox1.Top -= 5;
    
        pictureBox1.Height += 10;
       }
    
      timer2.Start();
    
      }
    
      private void timer2_Tick(object sender, EventArgs e)
      {
       if (pictureBox1.Height == 210) 
       pictureBox1.Width += 10;
      
    
      if (pictureBox1.Width > 210)
       timer2.Enabled = false;
      
    
      if (pictureBox1.Top == 26)
       pictureBox1.Left -= 5;
      
      }
    
      private void Form1_Load(object sender, EventArgs e)
      {
       timer1.Start();
      }
    
    Nota: Para hacer este efecto Agregé de esta manera el PictureBox en el Formulario (lo Centras de Forma Vertical y Horizontal), y para la imégen dentro del PictureBox selecciona Stretch

     

     


    Estudiante de Sistemas Informáticos.
    • Marcado como respuesta nictecilla viernes, 1 de julio de 2011 11:10
    miércoles, 29 de junio de 2011 23:17
  • se me ocurre que podrias definir en el evento click del picturebox el lanzar un nuevo form sin bordes de form modal con un pictruebox en el centro

    entonces en tu picturebox haces

    pricate void picturebox_click(..){

       FormPicPreview frm = new FormPicPreview(picturebox.Image);

       frm.ShowDialog();

    }

     

    por supuesto si este form formPicPreviewle quitas los bordes con al propeidad  BorderStyle= None

    public class FormPicPreview{

      private Image imagen = null;

      public FormPicPreview(Image _img){

          imagen= _img;

      }

      private void Form_Load(...){

          PictureBox1.Image = image;

      }

    }

     

    por supuesto el picturebox de este form debe tener la propiedad Dock en Fill para que llene por completo el form

    al hacer click en el pincturebox de este form harias el close del formulario, ya que al no tenee bordes no tendras los controles de cierre

     

    Nota: tambien puedes usar el evento doble click

     

    saludos

     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta nictecilla viernes, 1 de julio de 2011 11:10
    jueves, 30 de junio de 2011 2:32