「C Sharpの基礎 - マルチスレッドとGUI」の版間の差分

ナビゲーションに移動 検索に移動
編集の要約なし
(ページの作成:「== 概要 == マルチスレッドにおいて、GUIコントロールを操作することは重要なテーマの1つであり、操作しなければならないケー…」)
 
編集の要約なし
78行目: 78行目:
     var task = Task.Run(() =>
     var task = Task.Run(() =>
     {
     {
       for(int i = 0; i < 100; i++)
       Parallel.For(0, 100, i =>
       {
       {
           Thread.Sleep(50);  // 何らかの重い処理
           // プログレスバーを進捗させるためのタスクをForループ内におく
          Task.Run(() =>
          progressBar.Value += 1;
          {
          System.Windows.Forms.Application.DoEvents(); // プログレスバーの進捗を表示する
            progressBar.Value += 1;
      }
            System.Windows.Forms.Application.DoEvents(); // プログレスバーの進捗を表示するため
    }, CancellationToken.None, TaskCreationOptions.None, taskScheduler);
          }, CancellationToken.None, TaskCreationOptions.None, taskScheduler);
      });
    });
   
   
     // 継続元のタスクが終了したあとの処理
     // 継続元のタスクが終了したあとの処理
匿名利用者

案内メニュー