Que form me llama?

vpassaro
11 de Diciembre del 2003
Si estoy en un form y me puede haber llamado otro form de varios posibles. Como puedo saber cual fue?

kinoscar
11 de Diciembre del 2003
NO TE ENTIENDO

dgiro
11 de Diciembre del 2003
hola
yo trabajé con algo parecido, y lo que hice fue enviar desde los otros formularios un paràmetro al momento de hacer el llamado
si quieres más informaciòn escribeme
bye

Ivan
11 de Diciembre del 2003
Muy simple, en el form que estes utilizando (desde el cual quieres saber quien te llama), en la parte que dice "(General)" declara una variable publica de tipo string

Public FormOrigen as string

(suponiendo que se llama Form1)

.. luego, en un módulo crea un SUB :

public sub AbrirForm(byval Origen as string)
Form1.Origen=Origen
Form1.Show
end sub

.. para hacer correr el procedimiento lo invocas de siguiente forma:

Private Sub cmdMostrarForm1_Click()
AbrirForm(me.name)
end sub

.. y listo!!!

... ahora, en cualquier evento del Form1 (Excepto en el Load)haces un select case para saber que form lo llamo:

por ejem.

Private Sub Form1_Activate()
Select case Origen
Case "Form2"
'instrucciones si el form de origen es form2...
Case "Form3"
'instrucciones si el form de origen es el form3...
Case Else
'otras instrucciones...
end select

.... si esa tecnica o artificio no te satisface puedes recurrir a modulos de clase y crear instancias para cada formulario, es un poco pesado de programar pero es mas efectivo.

Baltasar
11 de Diciembre del 2003
Hay otro método más sencillo, usar activeform en el load.
Cuando haces formX.show, mientras se genera el LOAD de ese formulario el formulario que lo llama sigue estando activo, así que si en el evento FormLoad de un formulario pones:

quienllama=Screen.ActiveForm.Name

obtienes lo que pides.

Saludos