UrlImage Control 

Como proposito, se intenta tener un control que pueda cargar una imagen en un PictureBox pasandole una direccion de internet (url) de donde tomarla.

Elementos en disenho del control de usuario

 urlImage en disenho

El control consta de 3 PictureBoxes. Dos de ellos se van a usar como ayudas para que guarden una imagen cada uno, en pbxLoading vamos a poner una imagen que represente que el control esta trabajando y en pbxNotFound vamos a poner una imagen para representar un error en el cargado de la imagen solicitada.  Estos controles siempre permaneceran ocultos (Visible = false) y tomaremos de ellos las imagenes para ponerlas en el pictureBox1 cuando las requiramos.

Codigo detras del control

urlImage codigo

Aqui en codigo podemos ver que estamos utilizando el evento Resize del UserControl para hacer que pictureBox1 cubra toda la superficie de nuestro control.  Y ademas agregando un metodo publico llamado GetImage(string url) con el cual podremos pedirle al control que intente cargar la imagen de internet que le proporcionemos con el parametro url

En GetImage(), primero pasamos la imagen que esta en pbxLoading al PictureBox principal, y despues intentamos (por medio de un try) cargar la imagen desde internet a nuestro PictureBox.  Esto lo logramos con la ayuda de la clase HttpWebRequest, donde especificamos la direccion de internet, y obtenemos su ResponseStream para pasarselo al PictureBox e intente mostrarlo a pantalla; en caso de algun error | excepcion, lo indicaremos cargando la imagen que se encuentra en pbxNotFound.

Anuncios