Estoy creando una aplicación y me gustaría implementar una ventana de progreso que aparece cuando se está llevando a cabo un largo proceso.¿Abra un segundo winform asincrónicamente pero aún se comporte como un hijo al formulario principal?
He creado un proyecto de formulario de Windows estándar para el cual he creado mi aplicación utilizando el formulario predeterminado. También creé un nuevo formulario para utilizar como ventana de progreso.
El problema surge cuando abro la ventana de progreso (en una función) usando:
ProgressWindow.ShowDialog();
Cuando se encuentra este comando, el foco está en la ventana de progreso y supongo que ahora es la ventana que está mainloop es siendo procesado para eventos. La desventaja es que bloquea la ejecución de mi operación prolongada en la forma principal.
Si abro la ventana de progreso usando:
ProgressWindow.Show();
A continuación, se abre la ventana correctamente y ahora no bloquea la ejecución de la forma principal, pero no actúa como una ventana secundaria (modal) debe , es decir, permite seleccionar el formulario principal, no está centrado en el elemento principal, etc.
¿Alguna idea de cómo puedo abrir una nueva ventana pero continuar procesando en el formulario principal?
Ah sí, me se había olvidado por completo de los trabajadores de fondo! –