Pasar información entre Forms
Hola! A ver. Estoy haciendo un programa en el que tengo que pasar información entre diferentes formularios. El problema es que en un momento, des de un formulario cualquiera abro un nuevo formulario y necesito información que se encuentra en un TextBox del formulario que lo ha abierto (no se si se entiende la situación). Y no sé como referenciarme a éste formulario, porque no siempre es el mismo.
No sé. Si alguien me ha entendido y sabe como ayudarme, agradecería un empujoncito.
Gracias
No sé. Si alguien me ha entendido y sabe como ayudarme, agradecería un empujoncito.
Gracias
Espero que te entendiera tienes los 2 formularios abiertos,¿no?.Si es asi,entonces,cuando quieres hacer referencia a otro formulario has de hacer esto:
nombre del formulario.y se abre el cuadro de propiedades y ahi escoges lo que quieras un cierto textbox,vamos lo que hay ese formulario.Un ejemplo,yo paso la informacion de un formulario a otro de este modo:
FrmLaser.Txtfoto.Text = Ruta + Lista_fotos.FileName
La informacion va del formulario en el que estoy al otro en este caso frmlaser.
Espero que te sirva
nombre del formulario.y se abre el cuadro de propiedades y ahi escoges lo que quieras un cierto textbox,vamos lo que hay ese formulario.Un ejemplo,yo paso la informacion de un formulario a otro de este modo:
FrmLaser.Txtfoto.Text = Ruta + Lista_fotos.FileName
La informacion va del formulario en el que estoy al otro en este caso frmlaser.
Espero que te sirva
El problema es que el formulario que lo llama, no siempre es el mismo. Entonces no sé su nombre. Tendría que haber alguna forma de saber qué formulario lo ha abierto. Asi podria saber su nombre.
Sé que estoy intentando hacer algo raro, pero seria muy bueno poder hacerlo.
Gracias
Sé que estoy intentando hacer algo raro, pero seria muy bueno poder hacerlo.
Gracias
Bueno a mi lo que se ne ocurre es lo siguiente:
If nombredelformulario1.visible=true then
nombredelformulario1.text1.text=a lo que sea
else
asi sucesivamente...
Puede que haber otra forma,pero esta seguro que funciona.Te pongo un ejemplo:
If Frmencoder.Visible = True Then
Frmencoder.Imgfoto.Picture = LoadPicture(Ruta + Lista_fotos.FileName)
Frmencoder.Txtfoto.Text = Ruta + Lista_fotos.FileName
Frmencoder.Cmdbuscar.Enabled = True
Else
FrmLaser.Imgfoto.Picture = LoadPicture(Ruta + Lista_fotos.FileName)
FrmLaser.Txtfoto.Text = Ruta + Lista_fotos.FileName
FrmLaser.Cmdbuscar.Enabled = True
End If
El formulario fotos lo abro desde 2 formularios distintos y para reconocer hago esto,a mi me funciona
If nombredelformulario1.visible=true then
nombredelformulario1.text1.text=a lo que sea
else
asi sucesivamente...
Puede que haber otra forma,pero esta seguro que funciona.Te pongo un ejemplo:
If Frmencoder.Visible = True Then
Frmencoder.Imgfoto.Picture = LoadPicture(Ruta + Lista_fotos.FileName)
Frmencoder.Txtfoto.Text = Ruta + Lista_fotos.FileName
Frmencoder.Cmdbuscar.Enabled = True
Else
FrmLaser.Imgfoto.Picture = LoadPicture(Ruta + Lista_fotos.FileName)
FrmLaser.Txtfoto.Text = Ruta + Lista_fotos.FileName
FrmLaser.Cmdbuscar.Enabled = True
End If
El formulario fotos lo abro desde 2 formularios distintos y para reconocer hago esto,a mi me funciona
naveguito, que ocurre si hay varios formularios visibles a la vez? cual de ellos es el "padre" ?
Hola:
Lo que se me ocurre es que cuando invocas al formulario2 desde el formulario 1 tenes que hacer lo siguiente:
del lado del formulario que llama al formulario2 le pasas por parámetro lo que quieras pasar
form2.iniciar txt1.text
del lado del formulario2:
public sub iniciar(valorRecivido as String)
me.show
end sub
Lo que se me ocurre es que cuando invocas al formulario2 desde el formulario 1 tenes que hacer lo siguiente:
del lado del formulario que llama al formulario2 le pasas por parámetro lo que quieras pasar
form2.iniciar txt1.text
del lado del formulario2:
public sub iniciar(valorRecivido as String)
me.show
end sub
Bueno. Supongo que es lo que haré. Es la mejor solución, porque sólo hay 3 o 4 formularios que lo pueden llamar. Bueno, muchas gracias!!
Hay una solución más "lógica":
en el momento de llamar al form2, asígnale una propiedad que identifique al formulario que está realizando la llamada:
Private Sub Command1_Click()
Form2.Tag = "FORM1"
Form2.Show
End Sub
a partir de ese momento, la propiedad TAG del form2 lleva guardado el nombre del formulario que ha realizado la llamada.
(dentro del form2):
caption=me.tag
Yo suelo usar ese sistema, pero con propiedades nuevas (Property GET, LET y SET) pero es más complicado de usar.
Saludos
en el momento de llamar al form2, asígnale una propiedad que identifique al formulario que está realizando la llamada:
Private Sub Command1_Click()
Form2.Tag = "FORM1"
Form2.Show
End Sub
a partir de ese momento, la propiedad TAG del form2 lleva guardado el nombre del formulario que ha realizado la llamada.
(dentro del form2):
caption=me.tag
Yo suelo usar ese sistema, pero con propiedades nuevas (Property GET, LET y SET) pero es más complicado de usar.
Saludos
