Estoy haciendo una aplicación Win Forms para obtener más información ya que no tengo mucha experiencia con ella. En mi programa, en el formulario principal, tengo un botón. Al hacer clic en él se inicia otro formulario. El código es el siguiente:¿Cómo puedo hacer una pausa en la ejecución hasta que se cierre el nuevo formulario?
private void btn_AddCat_Click(object sender, EventArgs e)
{
this.Invoke(new MethodInvoker(() =>
{
form_NewCat NewCatForm = new form_NewCat();
NewCatForm.Show();
}));
MessageBox.Show("Oops!");
}
El problema es que cuando se pone en marcha la nueva forma, quiero ejecución del código detrás de la principal forma de hacer una pausa en ese punto hasta que la nueva forma se cierra. Como ejemplo, en el código anterior, no quiero '¡Uy!' imprimirse hasta que se cierre el nuevo formulario. ¿Cómo puedo lograr eso?
gracias. Implementaré tu solución. – xbonez
Cambié el controlador de eventos a exactamente lo que mostró. El nuevo formulario tiene un botón cancelar. El controlador de eventos para el botón cancelar lo ejecuta. Cerrar(). Sin embargo, cuando presiono el botón Cancelar, el formulario desaparece y luego vuelve a aparecer. Al presionar cancelar nuevamente se cierra el formulario. ¿Por qué es así? Mi nueva forma se muestra dos veces. – xbonez
@xbonez, extraño, ¿estás seguro de que no tienes ningún otro código que muestre el formulario? Al igual que en el constructor? –