¿Cómo puedo hacer un formulario de instancia única (no una aplicación)?

En mi aplicación C # tengo un cuadro de diálogo de opción que se puede abrir desde un comando de menú.

Quiero asegurarme de que el cuadro de diálogo de opciones tenga solo una instancia (el usuario no puede abrir más de una ventana de opciones en un momento dado) sin hacerlo modal.

Además, si el usuario ya tiene abierta esta ventana y hace clic en el elemento del menú para abrirla nuevamente, la aplicación solo hace que el formulario ya visible se convierta en la ventana más superior.

¿Alguien puede indicarme instrucciones sobre cómo lograr estas tareas?

Muchas gracias.

Respuestas a la pregunta(7)

Su respuesta a la pregunta