Einige unserer nicht-technischen Benutzer haben Probleme, wo ein Dialogfeld MessageBox in unserer Anwendung manchmal hinter dem Hauptformular angezeigt werden kann und die Anwendung keine Eingabe akzeptiert, bis die messagebox (die sie kann nicht sehen) wird entlassen.Dialog MessageBox manchmal hinter dem Hauptformular versteckt
Die Anwendung ist in C# geschrieben und die Meldungsfelder sind Standard zB der Code kann so einfach sein wie MessageBox.Show (Nachricht, Beschriftung) und die Messageboxen können vom Haupt-UI-Thread erstellt werden (dh kein Hintergrund-Thread) . Die Anwendung muss nicht im Vollbildmodus ausgeführt werden, aber 90% unserer Benutzer führen sie im Vollbildmodus aus.
Die meiste Zeit ((vielleicht> 99%) die Message korrekt angezeigt und ich habe es nie geschafft, zu sehen, wie es schief geht, aber ich habe eine Maschine gesehen, wenn es schief gegangen ist.
Eine Sache, die ich Wenn Sie eine Anwendung haben, die ein Dialogfeld anzeigt, sehen Sie normalerweise nur einen Eintrag in der Anwendungsliste.Wenn die Nachrichtenbox ausgeblendet wird, sehen Sie zwei Einträge, einen für den Hauptbildschirm Anwendung und ein weiterer Eintrag für dieses Meldungsfeld
Es ist einfach genug, das Problem zu beheben, sobald Sie wissen, was passiert ist, aber einige unserer nicht technischen Benutzer sind davon verwirrt und schalten sie aus r Computer. (Und diejenigen, die Remotedesktop verwenden, sind noch verwirrter, wenn dies das Problem nicht löst).
Ich glaube nicht, dass es mit dem Betriebssystem verbunden ist, wie ich es in Vista geschehen gesehen habe und es wurde auch in einer Terminal-Sitzung auf einem Windows 2003-Server passiert.
Weiß irgendjemand, warum das passiert und, was noch wichtiger ist, wenn etwas getan werden kann, um es zu vermeiden?
Ich habe das gleiche Problem mit WPF erlebt. Etwas kann die Beziehung zwischen dem Dialog und dem Hauptfenster auslösen, die normalerweise existiert, auch wenn sie nicht spezifiziert ist, um gebrochen zu werden. Die Bereitstellung eines Fensters als erstes Argument hat das Problem behoben. Um es neu zu erstellen, habe ich die Anwendung im VS-Debugger ausgeführt. Der aktive Debugger scheint die Beziehung oft zu unterbrechen. Sie können feststellen, dass das Problem aufgetreten ist, da das Dialogfeld einen eigenen Eintrag in der Taskleiste erhält. – denver