Pasar valores de una forma a otra

12/08/2004 - 01:24 por Omar Flores | Informe spam
Que tal, tengo el sig. problema. En una aplicacion tengo 2 formas una
principal
y otra de busqueda, y quiero pasar un valor de la forma de busqueda a la
principal

Es decir, en la principal tengo un textBox llamado txtID y tengo un boton
que abre
la forma de busqueda en la cual voy a buscar el id, una vez localizado
el valor deseado quiero regresarlo a la forma Principal, es decir que el
txtID tenga ahora
el valor que seleccione de la forma de busqueda, ojalá y alguien me pueda
proporcionar
algún ejemplo de código.

Muchas gracias.
 

Leer las respuestas

#1 Leonardo Azpurua
12/08/2004 - 01:12 | Informe spam
"Omar Flores" escribió en el mensaje
news:OH8IXH$
Que tal, tengo el sig. problema. En una aplicacion tengo 2 formas una
principal
y otra de busqueda, y quiero pasar un valor de la forma de busqueda a la
principal

Es decir, en la principal tengo un textBox llamado txtID y tengo un boton
que abre
la forma de busqueda en la cual voy a buscar el id, una vez localizado
el valor deseado quiero regresarlo a la forma Principal, es decir que el
txtID tenga ahora
el valor que seleccione de la forma de busqueda, ojalá y alguien me pueda
proporcionar
algún ejemplo de código.

Muchas gracias.



Hola, Omar:

Hay una cantidad de formas de lograr lo que describes.

La más simple es el estilo de "posta": la forma principal abre la forma de
búsqueda, ésta coloca los resultados en un lugar predefinido (variables
públicas en un módulo, por ejemplo) y cuando se cierra, la forma principal
toma los datos de ese lugar.

El inconveniente es que dependes de un módulo (un recurso muy poco OO y casi
imposible de portar a otros lenguajes) y de variables globales, y eso le
quita muchísima flexibilidad a los diseños (aunque no siempre es aparente,
siempre es bueno evitarlas).

Otra posibilidad es que cuando la forma de busqueda se cierre, genere un
evento pasando los resultados a la unidad que la abrió. Es más orientada a
objetos que la primera, pero tiene el inconveniente de que debes escribir
una función adicional de la forma principal para obtener los resultados.

La que más me gusta es que la forma de búsqueda implemente una función que
se encargue de abrir la propia forma, esperar a que se cierre y devolver los
resultados. La secuencia de código podría ser más o menos así:

en frmBusqueda:

Public Function Buscar() As String
If Me.ShowDialog() <> DialogResult.Cancel Then
Return txResultado.Text
Else
Return ""
End If
End Function

y en la forma princpial:

Dim f as New frmBusqueda
resultado = f.Buscar()
f.Dispose()

como ves, es la más simple (y a mi juicio la mas elegante) de todas las
opciones.


Salud!

Leonardo
[MVP Visual Basic]
leonardo<arroba>mvps<punto>org

Preguntas similares