Autor Tema: ¿Como volver al Formulario que lo llamó? Visual Basic  (Leído 43629 veces)

deejaykhali

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Buenas tardes, tengo una pequeña duda ya que soy nuevo programando en Visual Basic 6.0 y mi pregunta es la siguiente:

Tengo un proyecto con varios formularios (no son dinámicos) que funcionan a la perfeccion salvo un pequeño detalle, hago llamados a un mismo formulario desde formularios distintos y me gustaría saber cual es la manera de volver al formulario que llamo al ultimo, he creado un botron “atrás” con los comandos Hide() y Show() pero solo se devuelve al formulario donde esta el comando pero cuando lo llamo desde otro formulario no vuelve a el sino al formulario donde esta el comando, como no se si me estoy explicando bien lo voy a reflejar en un pequeño código

Asi lo tengo codificado:

Este es el formulario 1

Private Sub Cdm_Sieguiente1_Click()
Frm1.Hide
Frm3.Show
End Sub

Este es el botón atrás del formulario 3 para que vuelva al formulario 1

Private Sub CdmAtras3_Click()
Frm_3.Hide
Frm_1.Show
End Sub

Y este es otro formulario que también llama al formulario 3

Private Sub Cdm_Sieguiente2_Click()
Frm2.Hide
Frm3.Show
End Sub

Mi Pregunta es: Como Hago para que el Formulario 3 vuelva al formulario 2 cuando y no al formulario 1 cuando quien lo haya llamado sea el formulario 2?

De ante mano muchas gracias por la ayuda y la colaboracion
« Última modificación: 16 de Abril 2014, 08:08 por César Krall »

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 382
    • Ver Perfil
Re:¿Como volver al Formulario que lo llamó?
« Respuesta #1 en: 14 de Abril 2014, 22:22 »
Si tienes 3 formularios, en cada formulario puedes tener dos botones para ir a cualquiera de los otros dos formularios:

En el form1:

Código: [Seleccionar]
Private Sub CommandIrA2_Click()
Form2.Show
Form1.Hide
Form3.Hide
End Sub

Private Sub CommandIrA3_Click()
Form3.Show
Form2.Hide
Form1.Hide
End Sub

En el form2:
Código: [Seleccionar]
Private Sub CommandIrA1_Click()
Form1.Show
Form2.Hide
Form3.Hide

End Sub

Private Sub CommandIrA3_Click()
Form2.Hide
Form1.Hide
Form3.Show
End Sub

Private Sub Form_Load()

End Sub

En el form3:

Código: [Seleccionar]
Private Sub CommandIrA1_Click()
Form1.Show
Form2.Hide
Form3.Hide
End Sub

Private Sub CommandIrA2_Click()
Form3.Hide
Form2.Show
Form1.Hide
End Sub

Private Sub Form_Load()

End Sub

Con estos botones puedes ir saltando de un formulario a otro de la forma que quieras. Salu2



deejaykhali

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Re:¿Como volver al Formulario que lo llamó?
« Respuesta #2 en: 14 de Abril 2014, 22:49 »
Muchas Gracias de Verdad, aunque es un ejemplo muy logico no es precisamente lo que ando buscando, o sea, no quiero poner 2 botones en el formulario ya que al formulario 3 (por asi nombarlo) lo llaman otros formularios desde distintos puntos y deseo que en su debido momento el formulario que fue llamado retorne al formulario que lo llamo, estuve probando con la funcion Unload Me y hace lo que quiero a medias ya que deja las ventanas (formularios) de atras abiertas y cuando coloco el comando HIDE pues me las desaparece y el formulario 3 (por asi llamarlo) no vuelve o no consigue al formulario que lo llamo, agradezco mucho tu ayuda amigo, saludos

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 382
    • Ver Perfil
Re:¿Como volver al Formulario que lo llamó?
« Respuesta #3 en: 15 de Abril 2014, 09:38 »
Podrías hacerlo usando variables globales que te almacenen la información de quién llamó al formulario.

Por ejemplo: ultimoLlamoAlForm3Fue = 2

Luego con un if, en el botón para regresar al último formulario que lo llamó, con un if then tendrías que si el último que lo llamó fue el 2 que te muestre el 2, que si el último que lo llamó fue el 1 que te muestre el 1, etc. Saludos.

deejaykhali

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Re:¿Como volver al Formulario que lo llamó?
« Respuesta #4 en: 15 de Abril 2014, 15:09 »
me parece bien esta solucion, ahora mis preguntas son: como y donde establezco VARIABLES GLOBALES y como haria el formulario 3 para saber si lo llamo el 1 el 2 o el "0"? muchas gracias por tu ayuda amigo... feliz dia

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 382
    • Ver Perfil
Re:¿Como volver al Formulario que lo llamó?
« Respuesta #5 en: 15 de Abril 2014, 16:59 »
Para declarar variables globales en Visual Basic 6 tienes que ir al menú Proyecto y elegir la opción "Agregar módulo".

Dentro del código del módulo escribe por ejemplo: 

Public quienLLamoAForm1 As Integer
Public quienLLamoAForm2 As Integer
Public quienLLamoAForm3 As Integer

Ahora ya puedes trabajar con esas variables desde cualquier formulario pues tienen visibilidad global, lo que tendrías es que dotar de lógica al programa para saber desde dónde se llamó usando variables globales.

deejaykhali

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Re:¿Como volver al Formulario que lo llamó?
« Respuesta #6 en: 15 de Abril 2014, 17:54 »
voy a probar, gracias por la ayuda

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".