SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: junahu en Miércoles 12 de Abril de 2006, 00:33
-
Hola compañeros, necesito ayuda.
Tengo un formulario y dentro de el creo otro formulario modal con ShowDialog.
Pero al cerrar el ShowDialog quisiese que me diese para el formulario primero un valor que yo le doy al estar en el ShowDialog.
Bueno, que quiero saber como poder mandar un valor de un formulario ShowDialog a otro formulario.
Gracias y saludos a todos.
-
Bueno para pasar un dato de un formulario a otro ps yo particularmente lo hago asi:
my.Form1.TextBox1.Text = Me.TextBox1.Text
Se supone que estamos en el formulario 2, o en tu caso el formulario modal, en ese formulario tenemos una caja de texto llamada TextBox1 y le vamos a pasar al TextBox1 del formulario1, tambien se puede hacer con variables.
Ese codigo lo puedes poner en un button o al que el usuario cierre el formulario, en ese caso lo puedes poner en el evento closing o close del formulario. :hola:
Tumbes - Perú
-
Muchas gracias.
He encontrado un informe que me ha dado la forma de conseguir lo que quería. En el comentaba que al cerrar el ShowDialog, no se cierra totalmente, sino que se queda en memoria hasta que le obligues a finalizarlo con "eForm.Dispose()".
Pues bien, teniendo la variable Valor en el ShowDialog y dándola el valor que quiero, pues en el formulario que he creado el ShowDialog, y antes de usar Dispose, pido su valor y ya está.
Dim aq As String
Dim eForm As New frmBuscar ' instancio el formulario
eForm.ShowDialog() ' muestro el form como modal
' obtenemos varios valores activos del form modal
aq = eForm.ValorLista
' el ShowDialog está todavía en memoria.
' Lo eliminamos totalmente
eForm.Dispose()
:whistling:
-
Hola
Prueba con variables publicas, o mejor aún,con un modulo que puede ser visto desde cualquier punto del proyecto.
Ej: Un modulo que contiene una variable llamada dato
'LLamo al formModal
Dim myForm as New Form1
myForm.ShowDialog()
'se supone que dentro del form modal, en algun lugar le asignas el valor a la variable "dato"
'cuando retorne la ejecución del código a este punto (linea siguiente)
textbox1.text=dato
Eso. espero te sirva.
-
Gracias Maxi.Net, lo probaré.