Actualizar textbox abriendo otra pantalla no modal

Hola!
Siempre he usado pantallas modales y no tuve problema.
Ahora estoy usando MDI que no pueden ser modales y me surge este problema.
En un evento, llamo a una pantalla, que permite al usuario agregar un registro a una tabla. Entre los campos, hay 1 que me interesa que quede en la pantalla llamadora y poder actualizar el textbox "urge"
En la pantalla "Valores_Validos" doy valor a la variable "Principal.valor_valido" y cuando se cierre esa pantalla, quiero actualizar el textbox urge con ese valor.
Así:
    Load Valores_Validos
    Valores_Validos.Show
    urge.Text = Trim(Principal.valor_valido)
Mi problema es que al no ser una pantalla modal (no se abre con Valores_Validos. Show 1), pasa a la siguiente instrucción sin esperar que el usuario cargue datos en la pantalla.
Cómo puedo hacer para abrir la pantalla Valores_Validos, que el usuario cargue los datos, y al cerrarla, recien se ejecute esta instruccion
urge.Text = Trim(Principal.valor_valido) ????
Espero que se entienda mi pregunta. Gracias...

1 Respuesta

Respuesta
1
La forma que utilizo yo para simular una ventana modal sin que lo sea es meter al programa en un bucle. Lo hago de esta forma:
- Declaro la variable:
    global snEsperar as boolean
- Para presentar el formulario haría:
    snEsperar = false
    Valores_Validos.show
- Detrás del 'show' pongo el bucle que espera a la terminación del formulario:
    do while snEsperar
        doEvents
    loop
- Sólo falta que al descargar el formulario hagas:
    Private Sub Form_Unload(Cancel As Integer)
        snEsperar = False
    End Sub
Por cierto, para que no toquen el otro formulario mientras tienes abierto el Valores_Validos, puedes desactivarlo y activarlo a la vuelta o bien ocultarlo y a la vuelta volver a hacer un 'show'.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas