2010-06-04 9 views
9

Tengo una ventana que abre otra ventana. Quiero que cuando esta ventana esté abierta no pueda hacer nada en la ventana principal. (No tengo permiso para hacer clic en los botones, por ejemplo) ¿Cómo puedo hacer eso?Deshabilitar la ventana en el fondo

Gracias.

Respuesta

11

Desea una ventana modal en lugar de una ventana no modal. Una ventana modal significa que la ventana primaria no se puede usar mientras la ventana secundaria está abierta.

Puede abrir una ventana modal con ShowDialog.

Puede abrir una ventana no modal con solo Show.

+0

@SLaks: Perdón, quise decir ShowDialog en lugar de ShowModal –

29

Debe llamar al ShowDialog method en lugar de Show para mostrar la segunda ventana como un cuadro de diálogo modal.

+1

Gracias, hombre, Exactamente lo que quería. – Alex

+3

Luego debes aceptar esta respuesta haciendo clic en la verificación hueca. – SLaks

0

Te recomiendo que uses el escenario MDI que se comporta como ventanas secundarias y secundarias pero, por ejemplo, según el punto en el que puedas usar el código siguiente.

NewWindow.ShowDialog() method instead of NewWindow.Show() as it will disable background window 

pero no es una buena práctica que implementemos MDI.

Nunca he visto una aplicación de escritorio abriendo en varias ventanas y deshabilitando las anteriores.

Cuestiones relacionadas