0

Visual Studio と C# は初めてです。Windows フォーム アプリケーションを完成させましたが、次のバグが検出されました。ユーザーがプログラムを最小化/復元するか、別のタスクに切り替えると、プログラムは終了します (応答なしと表示されます)。このバグにより、このプログラムの実行中にユーザーがマルチタスクを実行できなくなるため、修正する必要があります。問題の考えられる原因と、それらを一般的に解決する方法を知りたいです。提案をいただければ幸いです。ありがとう!

4

2 に答える 2

1

長時間実行されるループまたは長時間実行される操作がある場所なら何でもかまいませんForm。最小化して復元したときに「応答なし」しか表示されないという事実は、ウィンドウを強制的に再描画し、Windows にアプリがハングしていることを認識させてゴースト ウィンドウを使用させたことが原因である可能性があります。最小化して元に戻す前に、ウィンドウはおそらくハングしていました。ウィンドウを動かしてみると、これを確認できます。動かない場合は、ハングアップしています。移動する場合は、タイトル バーを画面外に移動してから元に戻します (たとえば、タイトル バーの中央をクリックし、右端までドラッグしてボタンを放し、同じ操作を行って画面に戻します)。 )。

于 2012-08-14T18:43:58.917 に答える
1

私が間違っていなければ、UI がフリーズする問題が発生しています。もしそうなら、C# BackgroundWorker を使用してみませんか。長いタスクを実行しても、ウィンドウ フォームがフリーズするのを防ぐのに役立ちます。優れたチュートリアルhttp://www.dotnetperls.com/backgroundworkerをここで見つけることができます。これが役立つことを願っています。

于 2013-01-31T09:01:36.107 に答える