У меня есть приложение Windows Forms C#, которое отлично работает на большинстве машин. Но некоторые машины при закрытии дочерних форм (а не приложение MDI) все приложение зависает в течение нескольких секунд, пока окно не будет закрыто. Это происходит только при нажатии кнопки «X» в верхнем правом углу. Если у меня есть кнопка в форме, которая просто вызывает this.Close();
, окно закрывается нормально. У меня около 20 машин, на которых это работает, но я видел 2 до сих пор, что эта проблема возникает (одна из них - Windows 7, а другая - XP). Если я запустил код из Visual Studio на этих машинах, окна закрываются нормально. Это происходит только при запуске из EXE. При закрытии основной формы приложения не висит. Только ребенок образует. Я просто используюФорма зависает при закрытии, минимизации или максимизации
Form1 f = new Form1();
f.Show();
, чтобы открыть окно. Я пробовал это на пустых тестовых формах в том же приложении, у которых нет кода, и то же самое происходит. В других приложениях Windows Forms на тех же машинах эта проблема не возникает. В этом приложении есть что-то конкретное, но я не могу сузить его. Я знаю, что это трудный вопрос для ответа, не видя всей базы кода, но кто-то еще сталкивался с подобной проблемой в прошлом? Спасибо.
EDIT: Некоторые дополнительные замечания
свернуть, развернуть и восстановить кнопки вызвать тот же повесить, когда любой из них щелкнули.
Интересно, что если вы нажмете на значок окна в верхнем левом углу и выберите «Закрыть», «Свернуть» или «Развернуть все», все будет работать нормально, без задержки или зависания.
Вызов 'Show' только устанавливает' Visible' в 'true'. Оба нажатия кнопки «X» и вызов «Закрыть» вызывает событие «Закрытие» - здесь нет разницы. Вы пытались взломать простое приложение с основной формой, несколькими дочерними формами и кнопкой Закрыть в основной форме? – kol