Mit ShowDialog() Fenster anzeigen, und den Hintergrund einfrieren

maria1

Mitglied
Hallo,
ich zeige ein Fenster mit ShowDialog() an, und möchte dass der Benutzer eine Eingabe auf diesem Fenter machen muss, bevor er irgendwas anderes machen kann. Momentan ist es so, dass der Benutzer im Hintergrund klicken kann und auf andere Anwendungen zugreifen kann. Wie kann ich sowas verhindern? Ich möchte solange alles im Hintergrund einfrieren, bis der Benutzer eine Eingabe auf meinem Fenster macht...bin sehr dankbar für eure Hilfe.(Programmiere mit C# )
 
Hi..

Wirklich alles? Auf die Schnelle (so als quick'n'dirty) fällt mir da nur Fenster maximieren, TopMost setzen, und nicht verkleinern lassen.. ;)

Userfreundlich ist das aber nicht wirklich.. ^^

lg..
 
Die Methode ShowDialog() blockt normalerweiße von alleine den Zugriff auf andere Forms. Bist du sicher das du sie richtig anwendest? Es müsste bei dir wie folgt aussehen:

Code:
MeinZweitesFenster childWindow = new MeinZweitesFenster();
childWindow.ShowDialog(this); //this ist die Hauptform die geblockt werden soll

Gruß
Konstantin
 
Danke für eure Antworten:)...aber gibt es nicht irgendwie eine andere Möglichkeit das umzusetzen, außer das Fenster groß zu ziehen ...ich kann mir irgendwie nicht vorstellen, dass es nicht geht:( hat noch jemand eine andere Idee?
 
Hallo,

Ich würde dir schon aus Usability Sicht nicht dazu raten dem User den Zugriff auf andere Programme zu verbieten. Aus diesem Grund wird sich sowas nur mit einem Work-Around wie oben beschrieben lösen lassen.
Was für eine Anwendung entwickelst du denn, die sowas notwendig macht?
 
im prinzip musst du das fenster ja nicht so riesen groß ziehen.

wenn du eine halbdurchsichtige komplett leere form über den kompletten bildschirm ziehst und innerhalb dieser form einen dialog öffnest hast du das ganze sogar optisch sehr ansprechend gelöst.
 
Ich schließe mich hier Steiner_B an. Es ist aus Usability-Sicht extrem schlecht, den Bildschirm durch einen Anwendung zu sperren.
Bevor hier weitergerätselt wird, wäre es wirklich angebracht, den UseCase zu verraten :)
 

Neue Beiträge

Zurück