トップページ > プログラム > 2016年08月09日 > L89qxkLm

書き込み順位&時間帯一覧

10 位/196 ID中時間01234567891011121314151617181920212223Total
書き込み数0400000000000000000000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net

書き込みレス一覧

ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
854 :デフォルトの名無しさん[sage]:2016/08/09(火) 01:02:46.51 ID:L89qxkLm
>>851
こういう感じはどうかな?
public FormC()
{
 InitializeComponent();
 Task.Run(() =>
 {
  FormB frmB = new FormB();
  frmB.Show();
  //なんか処理
  frmB.Close();
 }).Wait();
}
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
857 :デフォルトの名無しさん[sage]:2016/08/09(火) 01:24:18.12 ID:L89qxkLm
>>855
>>842のラムダ式の部分と同じようなので良くない…かな?
(Task内でインスタンスを作ってるので BeginInvokeの必要がなくなるけど)
Bって、C起動までの進捗報告だけのフォームかと思ったけど、そうじゃないのかな…
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
858 :デフォルトの名無しさん[sage]:2016/08/09(火) 01:26:02.14 ID:L89qxkLm
>>856
Task内で生まれたFormにとってはTaskの実行されてるスレッドが自分のUIスレッド
…だと思うw
一応、ProgressBar動作させて実験したし…
ふらっと C#,C♯,C#(初心者用) Part123 [無断転載禁止]©2ch.net
860 :デフォルトの名無しさん[sage]:2016/08/09(火) 01:46:06.06 ID:L89qxkLm
awaitは別スレッドでの処理を待っててくれるけど、元スレッドの処理は止めない。
ここ↓がわかりやすいと思う
非同期メソッド入門 (2) - async修飾子とawait演算子 - xin9le.net
http://blog.xin9le.net/entry/2012/07/19/002126

Task.Waitは非同期処理の完了まで元スレッドをブロックする
(今回はこっちの方がよさそうだけど、実はデッドロックの危険もある↓)
async/await 〜非同期なライブラリは楽じゃない〜 - 飽きっぽい人のブログ@qwerty2501
http://qwerty2501.hatenablog.com/entry/2014/04/24/235849

ちょうど今自分も非同期処理を勉強中だったんだ…
お役に立てば


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。