![]() |
Imagen de Fondo de un Formulario Hola amigos Estoy intentando poner una imagen de fondo en un formulario principal (MDI) de forma que me quede bien ajustada a los bordes y se modifique en tiempo de ejecución. Para ello, 1º opté por establecer la imagen en la propiedad BackgroundImage pero incluso cambiando la propiedad BackgroundImageLayout, la imagen siempre sale repetida como mosaico (en caso de ser una imagen pequeña) o ajustada a la esquina izquierda superior y sin ajustarse (en caso de ser una imagen grande). Viendo que no funcionaba opté por poner un PictureBox con la propiedad Dock = Fill y conseguí que me funcionara. Pero ahora el problema es que al cargar otro formulario, me aparecen detrás del PictureBox y no son visibles!! Como hago para que el PictureBox no tape los formularios o bien para poner la imagen de fondo de otra manera?? Mil gracias |
Te olvidaste de otra gran opcion de los picturesbox's, existe la propiedad Anchor que puedes ponerle del tamaño total de la pagina o del tamaño que tu quieras...... :adios: |
Me.BackgroundImage = New System.Drawing.Bitmap(New System.Drawing.Bitmap(ruta), me.width, me.height) Con una sola línea el tu sub load, te ajusta la imagen Suerte!!! |
Con anchor tb probé y nada de nada :P Jose, he probado esa línea de código y efectivamente me pone la imagen como fondo pero no me hace resize :S |
Supongo que cuando te refieres ha resize, hablas de cuando cambias el tamaño de tu form, y que lo has puesto aquí Private Sub me_resieze(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Resize 'La linea en cuestion que paso de copiar y pegar End Sub ??? |
Muchas gracias! Parece que funciona, aunque el resize no lo haga perfecto.. También me estoy planteando si poner la imagen de fondo, ya que tarda mucho en cargar y la pantalla "parpadea" |
Resize no lo hace perfercto por una razón, y es que cuando se lanza el evento todavía no se ha "resizado", es decir, estas asignando el tamaño anterior, por lo que si estiras un formulario desde x hasta x +y, p.ej. te dejará el tamaño en x + y - valor, siendo valor, el ultimo tamaño captado. Pureba con SizeChanged en vez de resize, haber si este se lanza después, |
y así es más rápido, si no tiene que tener otro evento, que si se lance en la finalizacion del cambio de tamaño, es cuestión de buscar y probar (o de que alguien lo sepa y te lo chive jeje). |
Vaya lío xDDD Y eso que es solo una chorrada.. Lo he probado con SizeChanged y sigue igual. Creo que dejaré el diseño para el final jaja Además no acaba de convencerme que la pantalla parpadee y se ralentice :S |
No se, yo mis formularios con fondos no he tenido ningún tipo de problema de parpadeo como dices, quizá sea cuestión de Hardware, pero no se. Luego si puedo investigo para dar con el evento correcto. Un saludo |
Hola de nuevo! He conseguido ponerla de fondo con el picturebox y al llamar a un formulario hijo hago un SendToBack del picturebox y funciona: el formulario hijo aparece, pero el picturebox en vez de enviarse al fondo desaparece :S |
| La zona horaria es GMT -6. Ahora son las 06:41. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.