ほとんどのマシンで正常に動作するC#Windowsフォームアプリケーションがあります。しかし、MDIアプリケーションではなく子フォームを閉じるときに、ウィンドウが閉じられるまで、アプリケーション全体が数秒間ハングします。これは、右上隅の「X」ボタンをクリックした場合にのみ発生します。 this.Close();
というフォームにボタンがあると、ウィンドウが正常に終了します。私は約20台のマシンを持っていますが、この問題が発生している2つを見ています(1つはWindows 7、もう1つはXPです)。これらのマシンでVisual Studioのコードを実行すると、ウィンドウが正常に終了します。 EXEから実行している場合にのみ発生します。アプリのメインフォームを閉じるときにぶら下がりはありません。ちょうど子供が形成する。私はちょうど使用しています閉じる、最小化、または最大化するとフォームがハングアップする
Form1 f = new Form1();
f.Show();
ウィンドウを開く。私はコードを持たない同じアプリで空白のテストフォームでこれを試してみました。同じことが起こります。同じマシン上の他のWindowsフォームアプリケーションでは、この問題は発生しません。これを引き起こしているこのアプリについて具体的なものがありますが、私はそれを絞り込むことはできません。私はこれがコードベース全体を見ることなく答えるのは難しい質問だと知っていますが、他の誰かがこれと同様の問題を抱えているのですか?ありがとうございました。
EDIT:いくつかの追加の注意事項
それらのいずれかがクリックされたときに同じことがハングアップする、最小化、最大化、およびボタンを復元します。
興味深いことに、左上隅のウィンドウアイコンをクリックして、[閉じる]、[最小化]、または[最大化]を選択すると、遅延もハングもなくすべてうまく動作します。
「表示」を呼び出すと、「表示」のみが「真」に設定されます。 'X'ボタンをクリックして' Close'を呼び出すと、 'Closing'イベントが発生します。違いはありません。あなたは、メインフォーム、少数の子フォーム、およびメインフォームの閉じるボタンを持つ簡単なアプリケーションを一緒にハックしようとしましたか? – kol