jueves, 24 de marzo de 2011

HACER UNA PANTALLA DE USUARIO CON FORMA DE LAS IMAGENES Y LABELS TRANSPARENTES EN VB.NET


Uno de los problemas que se suele tener al realizar aplicaciones de escritorio, sobre todo en vb es el hecho que al trabajar con picture box y agregar etiquetas(labels) encima de estos pictures el fondo de los labels no es trasparente, aqui les dejo una solucion a este problema que quiero compartir, que lo encontre en la red y además una forma de lograr que mis formularios se adecuen a la forma de las imagenes o en otras palabras que el fondo sea trasparente , dando de esta manera una presentación mucho mas elegante y estetica a nuestra aplicacion, en esta ocasion diseñe una pantalla de acceso parecida a los sistemas web , pero en aplicacion de esritorio.


1. En primer lugar abrimos un nuevo proyecto VB

2. En la propiedad FormBorderStyle escogemos la opcion none


se debe ver el formulario de esta manera


3.- Si nosotros agregamos al formulario dos controles PictureBox; uno para la cabecera y el otro para el cuerpo del formulario


y si ajustamos al tamaño del formulario se veria de esta manera pero aun con el fondo del formulario


4.- Solucionamos este problema para que se vea como la imagel principio sin el fondo del formulario de la sgte manera:
En la propiedad BackColor y TransparencyKey del formulario elgimos el mismo color ..yo para este caso elegi en la paleta de colores en la ficha sistema MenuBar, luego ejecutamos(F5) y vemos que el fondo ha desaparecido

5.- Ahora le damos el diseño como la imagen del principio ..yo le puse para el encabezado que dice acceso al sistema la siguiente imagen, lo mismo que para los dos botones, y cambiando en la propiedad BackgroundImageLayout a Strech para que se ajuste la imagen al tamaño del boton

y la imagen del usuario es la siguiente


Por ultimo creo que ya esta demás indicar que en cada pictureBox que agregemos le damos la ruta de la imagen en la propiedad BackgroundImage y tambien modificamos la Propiedad BackgroundImageLayout a Strech y la ajustamos al tamaño que querramos para las cajas de texto en la propiedad backcolor en la ficha Sistema elegimos info y en la proiedad BorderStyle elegimos FixedSingle y listo!!


Ah me olvidaba para este caso como yo puse una imagen de fondo para el cuerpo de color blanco con bordes redondeados y sombreados no hay problema con los labels..pero si queremos tener un label trasparente que no se vea el fondo cuando la sobreponemos en un picture hacemos lo siguiente

a) clic derecho en el proyecto y elegimos agregar --> luego clase(la ultima opcion del menu contextual),le ponemos un nombre o lo djeamos por defecto con class1.vb
b) Luego borramos el codigo que alli aparece y copiamos el siguiente codigo








c) Luego clic derecho en el proyecto y elegimos generar
d) Ahora nos damos cuenta que en el cuadro de herramientas aparece una nueva herramienta llamada TransparentLabel

e) Por ultimo cuando la querramos utilizar solo tenemos que arrastrarla a cualquier parte del formulario y configurar las propiedades como querramos pero por defecto su fondo es transparente yo le coloque para poner en la cabecera version 1.0


Eso es todo , espero que les haya servido de algo
Gracias

0 comentarios:

Publicar un comentario