SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: hrc968 en Martes 28 de Noviembre de 2006, 05:36

Título: Saber Q Formulario Llamo
Publicado por: hrc968 en Martes 28 de Noviembre de 2006, 05:36
existe alguna forma de saber q formulario llamo a otro formulario ,es decir tengo form1 q llama a form2 , pero tambien tengo el form3 q tambien puede llamar al form2.
o lo tengo q hacer yo manualmente con algun procedimiento ?
ojala me ayuden por q estoy medio ahorcado
Título: Re: Saber Q Formulario Llamo
Publicado por: mamex en Martes 28 de Noviembre de 2006, 07:11
Pues lo que haría yo es poner una variable pública en el form 2, tipo string, por decir llamada padre.  Y cuando llamo al form2, a la variable padre, le asigno el nombre del formulario que lo llamó. Entonces, en la variable padre ya tienes el nombre de su padre.

Código: Text
  1.  
  2. 'Codigo en el form2
  3. public padre as string
  4.  
  5. 'Codigo en el form1
  6. form2.padre = "form1"
  7. form2.show
  8.  
  9. 'Codigo en el form3
  10. form2.padre = "form3"
  11. form2.show
  12.  
  13.  
  14.  
Título: Re: Saber Q Formulario Llamo
Publicado por: RadicalEd en Martes 28 de Noviembre de 2006, 14:09
Otra puede ser crear una rutina pública en un .bas y lo que haces es llamarla desde todo formulario en el que quieras abrir el form2
Título: Re: Saber Q Formulario Llamo
Publicado por: luciano2 en Martes 28 de Noviembre de 2006, 16:27
Otra forma, para no handar declarando variables, es utilziar la propiedad Tag


saludos


---------------------

Recursos vb (http://www.recursosvisualbasic.com.ar/)
Título: Re: Saber Q Formulario Llamo
Publicado por: hrc968 en Miércoles 29 de Noviembre de 2006, 03:16
gracias por la rtas, habia intentado hacerlo por esos lados
ahora como uso la prop tag ?
Título: Re: Saber Q Formulario Llamo
Publicado por: Mollense en Miércoles 29 de Noviembre de 2006, 06:20
No creo que puedas usar la propiedad tag porque me parece que la ventana debe estar abierta para poder modificar su valor.

A ver si esto te orienta:
Título: Re: Saber Q Formulario Llamo
Publicado por: F_Tanori en Miércoles 29 de Noviembre de 2006, 10:39
Cita de: "RadicalEd"
Otra puede ser crear una rutina pública en un .bas y lo que haces es llamarla desde todo formulario en el que quieras abrir el form2
eso es lo que tambien se me viene a la mente

ej.


Modulo

Código: Text
  1.  
  2. Option Explicit
  3.  
  4. Function AbrirVentana(ByRef frm As Form, Optional Modal As Boolean = False, Optional Propietario As Form) As String
  5. Dim Resultado
  6.     If Modal Then
  7.         If IsMissing(Propietario) Then
  8.             frm.Show vbModal, Propietario
  9.             Resultado = Propietario.Name
  10.         Else
  11.             frm.Show vbModal
  12.             Resultado = ""
  13.         End If
  14.     Else
  15.         frm.Show
  16.         Resultado = ""
  17.     End If
  18.    
  19. AbrirVentana = Resultado
  20. End Function
  21.  
  22.  

en un Form
Código: Text
  1.  
  2. Option Explicit
  3.  
  4. Private Sub Command1_Click()
  5.  Dim NombreFormPropietario As String
  6.     NombreFormPropietario = AbrirVentana(Form2,,Me)
  7.    
  8.     If Len(NombreFormPropietario) > 0 Then
  9.         MsgBox NombreFormPropietario
  10.     End If
  11. End Sub
  12.  

Saludos