winforms modal-dialog switching

Ventana modal WinForms alt+tab problema



modal-dialog switching (2)

Supongamos que varias ventanas modales se muestran una encima de la otra. Todos ellos tienen ShowInTaskbar = false , lo que significa que en TaskBar solo se ve el MainForm y todos los Modal Windows están ocultos.

Ahora presiona ALT + TAB y la ventana modal más alta desaparece. Pero no puedes recuperarlo al frente.

¿Cómo se debe hacer esto correctamente en tu opinión?


OK Solo para completarlo:

Esta es la forma de configurar un propietario para que sea una forma de ganar para una forma de ganar:

form.ShowDialog(ownerInstance);

Esta es la forma de configurar un propietario para que sea una forma de ganar para una ventana de WPF:

MyWpfDialog dialog = new MyWpfDialog(); new System.Windows.Interop.WindowInteropHelper(dialog).Owner = ownerInstance.Handle; dialog.ShowDialog();

Esta es la manera de configurar un Ownder para que sea una ventana Wpf para una ventana Wpf:

.Owner = Window.GetWindow(ownerInstance)


Si una ventana modal se queda atascada detrás del formulario principal, parece que no está configurando su propietario. Cuando llame a showDialog() , debe pasar el formulario principal así:

modalWin.showDialog(mainForm);

Cada vez que llame a showDialog() , y su programa tenga otro formulario que debe estar debajo, lo mejor es pasarlo como propietario. Si muestra la ventana modal cuando ya hay una ventana modal arriba, pase la primera ventana modal como propietario.