Foros del Web » Programación para mayores de 30 ;) » .NET »

Imagen de Fondo de un Formulario

Estas en el tema de Imagen de Fondo de un Formulario en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 27/07/2005, 05:03
 
Fecha de Ingreso: octubre-2003
Mensajes: 64
Antigüedad: 21 años, 1 mes
Puntos: 1
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
  #2 (permalink)  
Antiguo 27/07/2005, 07:34
Avatar de charlytesis  
Fecha de Ingreso: agosto-2003
Ubicación: La Paz - Bolivia
Mensajes: 207
Antigüedad: 21 años, 2 meses
Puntos: 1
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......
__________________

Saludos desde el corazón de América.....BOLIVIA
Da lo mejor de ti, que siempre será recompensado


  #3 (permalink)  
Antiguo 27/07/2005, 08:34
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 20 años
Puntos: 8
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!!!
  #4 (permalink)  
Antiguo 27/07/2005, 08:50
 
Fecha de Ingreso: octubre-2003
Mensajes: 64
Antigüedad: 21 años, 1 mes
Puntos: 1
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
  #5 (permalink)  
Antiguo 27/07/2005, 09:17
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 20 años
Puntos: 8
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

???
  #6 (permalink)  
Antiguo 27/07/2005, 09:42
 
Fecha de Ingreso: octubre-2003
Mensajes: 64
Antigüedad: 21 años, 1 mes
Puntos: 1
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"
  #7 (permalink)  
Antiguo 27/07/2005, 09:55
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 20 años
Puntos: 8
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,
  #8 (permalink)  
Antiguo 27/07/2005, 09:56
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 20 años
Puntos: 8
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).
  #9 (permalink)  
Antiguo 27/07/2005, 11:03
 
Fecha de Ingreso: octubre-2003
Mensajes: 64
Antigüedad: 21 años, 1 mes
Puntos: 1
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
  #10 (permalink)  
Antiguo 27/07/2005, 15:01
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 20 años
Puntos: 8
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
  #11 (permalink)  
Antiguo 28/07/2005, 03:15
 
Fecha de Ingreso: octubre-2003
Mensajes: 64
Antigüedad: 21 años, 1 mes
Puntos: 1
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:56.