トップページ
>
プログラム
>
2016年08月09日
>
L89qxkLm
書き込み順位&時間帯一覧
10 位
/196 ID中
時間
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Total
書き込み数
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
使用した名前一覧
書き込んだスレッド一覧
デフォルトの名無しさん
ふらっと 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ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合は
メール
をしてください。対応します。