Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Cargar una ventana desde un botón.

Estas en el tema de Cargar una ventana desde un botón. en el foro de Visual Basic clásico en Foros del Web. Hola Estoy aprendiendo Visual Basic .NET y ando un poco pez en el tema. Acabo de empezar con la interfaz gráfica y hay algunas cosas ...
  #1 (permalink)  
Antiguo 27/05/2010, 10:32
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
De acuerdo Cargar una ventana desde un botón.

Hola

Estoy aprendiendo Visual Basic .NET y ando un poco pez en el tema.
Acabo de empezar con la interfaz gráfica y hay algunas cosas que no tengo muy claras y no se por donde empezar a buscar información.

He creado un windows forms y ahí he puesto un botón.
Me gustaría que al hacer click sobre ese botón, me cargara la siguiente pantalla del programa.

Visto esto, creé otro windows forms y enlacé el botón de tal modo que me cargara la nueva ventana.
¿El problema? Que la segunda ventana que creé, además de estar cargada desde el inicio de la aplicación, es una ventana totalmetne nueva y se carga encima de la anterior.

¿Se puede hacer de tal modo que no tenga que carga en una NUEVA ventana o forms, sino en el mismo que estaba anteriormente con el mismo tamaño?

Básicamente es como navegar por internet, no quiero que se están abriendo y cerrando mil ventanas, sino moverte sobre una y avanzar o retroceder.

Gracias de antemano.
  #2 (permalink)  
Antiguo 28/05/2010, 12:47
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 8 meses
Puntos: 29
Respuesta: Cargar una ventana desde un botón.

Pon todo el contenido de cada form en un picturebox o un frame y después al arrancar el programa haces invisibles todos los picturebox menos el que contiene el form1 y colocas todos los picturebox en la posición que deban aparecer dentro del form.
Luego en los botones de avanzar y retroceder solo tienes que ir mostrando el picturebox que corresponda y ocultando todos los demás.

Saludos.
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #3 (permalink)  
Antiguo 28/05/2010, 14:24
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
De acuerdo Respuesta: Cargar una ventana desde un botón.

Estuve probando con eso pero me acababa de convencer.

A pesar de ocultar un layer y mostrar otro con la opción de hide y show, o bien visible = true o false, el layer desaparecía pero seguía estando como encima del otro, ocupando espacio y evitando que el otro se viera.
Además, a la hora de programar la interfaz desde el entorno de programación (visual studio en mi caso), 5 layers del mismo tamaño y misma posicion estorban mucho para diseñarlo...

Al final he optado por usar diferentes Forms y cerrar uno y abrir otro con el mismo tamaño y posición en la pantalla. Se nota un pequeño flash, pero el usuario creerá que está en la misma pantalla.

He intentado de todos modos buscar más información sobre el tema (en inglés, claro) y nadie da una solución firme y profesional. No acabo de entenerlo...
Con lo básico que es navegar entre pantallas...

¿alguna otra sugerencia?
Gracias.
  #4 (permalink)  
Antiguo 03/06/2010, 01:21
Avatar de donyoyo  
Fecha de Ingreso: mayo-2010
Ubicación: Chile
Mensajes: 31
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Cargar una ventana desde un botón.

estimado, porque no pruebas con un control estilo TabControl, en este tipo de control defines paneles que tienen el mismo tamaño, y puedes hacerlos pasar de uno en uno, cada panel contiene sus propios controles.
no se cual es directamente en .Net, ya que yo uso una herramienta libre para el desarrollo que utiliza el Net Framework.
espero te sirva

Etiquetas: ventanas
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 19:36.