Forzar a cerrar MessageBox programáticamente

Déjame darte el fondo.

Tenemos una aplicación (de tamaño mediano) que utiliza MessageBox.Show (....) en varios lugares (en cientos).

Estos cuadros de mensaje son parte del flujo de trabajo y se utilizan para informar, advertir o recibir información de un usuario. Se supone que la aplicación debe cerrar sesión automáticamente después de cierto tiempo si no hay actividad. Tenemos el requisito de que al cerrar la sesión de la aplicación, solo para limpiar los datos de la sesión, borrar vistas y esconderse para que en el próximo lanzamiento, no tenga que ejecutar el proceso de inicio que es costoso en términos de tiempo.

Todo funciona bien, pero en un escenario en el que hay un cuadro de mensaje en la pantalla y el usuario abandona la máquina sin responder al cuadro de mensaje y luego debido a que no hay actividad para que la aplicación cierre la sesión. El problema es que el cuadro de mensaje no desaparecerá.

¿Cómo puedo cerrar el cuadro de mensaje abierto, si lo hay, mientras oculto la aplicación?

Respuestas a la pregunta(9)

Su respuesta a la pregunta