2010-06-04 13 views
9

Ich habe ein Fenster, das ein anderes Fenster öffnet. Ich möchte, dass wenn dieses Fenster geöffnet ist, kann ich nichts im Elternfenster tun. (Ich darf nicht zum Beispiel Tasten klicken) Wie kann ich das tun?Deaktivieren Sie das Fenster auf dem Hintergrund

Danke.

Antwort

11

Sie möchten ein modales Fenster anstelle eines nicht modalen Fensters. Ein modales Fenster bedeutet, dass das übergeordnete Fenster nicht verwendet werden kann, während das untergeordnete Fenster geöffnet ist.

Sie können ein modales Fenster mit ShowDialog öffnen.

Sie können ein nicht-modales Fenster nur mit Show öffnen.

+0

@SLaks: Sorry, ich meinte ShowDialog statt ShowModal –

29

Sie müssen das ShowDialog method anstelle von Show aufrufen, um das zweite Fenster als modalen Dialog anzuzeigen.

+1

Danke Mann, genau das, was ich wollte. – Alex

+3

Dann sollten Sie diese Antwort akzeptieren, indem Sie auf den leeren Haken klicken. – SLaks

0

Ich empfehle Ihnen, MDI-Szenario als Kind-und Eltern-Fenster zu verwenden, sondern zum Beispiel nach dem Punkt können Sie den Code unten verwenden.

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

aber das ist keine gute Praxis sollten wir MDI implementieren.

Ich habe noch nie eine Desktop-Anwendung gesehen, die sich auf mehreren Fenstern öffnet und ältere deaktiviert.

Verwandte Themen