0

私は次のようなWindowsアプリケーションを開発しています。

  • FTPに接続し、ファイルを送受信します
  • SSH経由でサーバーに接続し、コマンドを送信します
  • Excelレポートの作成
  • と他のいくつかのもの

これらのタスクはすべて、ユーザーがボタンをクリックすると開始されます。問題は、ボタンをクリックした後、次のことです。

  • カーソルが手のアイコンに変わります
  • ウィンドウがフリーズし、ユーザーは何もできなくなります(ウィンドウを移動しても)
  • 「お待ちください」のアニメーションでも再生されず、プロセスログはほとんど表示されません

ここに画像の説明を入力してください

私は何をすべきか?

4

1 に答える 1

3

バックグラウンドスレッドで作業を行う必要があります。バックグラウンドスレッドを開始する最も簡単な方法は、バックグラウンドワーカーです。

バックグラウンドスレッドで作業する場合、GUIコンポーネントを更新する場合は、メインスレッドを呼び出す必要があります。バックグラウンドワーカーには、これを実行できるReportProgressメソッドがあります。

スレッディングの基本を読んで、試してみてください。問題が発生した場合は、戻って特定のコード例を含む新しい質問を投稿してください。

于 2012-08-09T02:45:29.113 に答える