Диалог MessageBox иногда скрывается за основной формой

У некоторых из наших нетехнических пользователей возникают проблемы, когда диалоговое окно MessageBox в нашем приложении может иногда отображаться за основной формой, и приложение не принимает никаких вводных данных до тех пор, пока окно сообщений (которое они не могут видеть) закрыто.

Приложение написано на C #, и окна сообщений являются стандартными, например, код может быть таким простым, как MessageBox.Show (сообщение, заголовок), а окна сообщений могут создаваться основным потоком пользовательского интерфейса (т.е. не каким-либо фоновым потоком). Приложение не обязательно должно запускаться в полноэкранном режиме, но 90% наших пользователей запускают его в полноэкранном режиме.

Большую часть времени ((может быть> 99%) ящики сообщений отображаются правильно, и мне никогда не удавалось увидеть, как все идет не так, но я видел машину, когда она выходила из строя.

Одна вещь, которую я заметил, это то, что если у вас есть приложение, которое отображает диалоговое окно, то когда вы смотрите на менеджер задач, вы обычно видите только одну запись в списке приложений. Всякий раз, когда окно сообщения скрыто, вы увидите две записи: одну для основного приложения и другую запись для этого окна сообщения.

Достаточно легко решить проблему, если вы знаете, что произошло, но некоторые наши нетехнические пользователи смущены этим и в конечном итоге отключают свои компьютеры. (А те, кто использует удаленный рабочий стол, еще больше запутываются, когда это не решает проблему).

Я не думаю, что это связано с операционной системой, поскольку я видел, что это происходит в Vista, и мне сказали, что это также происходит в терминальной сессии на сервере Windows 2003.

Знает ли кто-нибудь, почему это происходит, и, что важнее, можно ли что-то сделать, чтобы этого избежать?

Ответы на вопрос(5)

Ваш ответ на вопрос