回答編集履歴

1

コード修正

2021/06/23 08:17

投稿

neconekocat
neconekocat

スコア443

test CHANGED
@@ -1,15 +1,39 @@
1
- よくわからすがこういう事をしたいと?
1
+ まともにコード書ける環境にったの追記。
2
+
3
+ やっていることはfanaさんの回答と全く同じで、処理終了後にモーダル表示したフォームを閉じています。
4
+
5
+ 表示するフォームに手を加えず、メインフォームだけで完結させる書き方ですね。
6
+
7
+
2
8
 
3
9
  ```C#
4
10
 
11
+ private void button1_Click(object sender, EventArgs e)
12
+
13
+ {
14
+
5
- var form = new Form2();
15
+ using (var form = new Form())
16
+
17
+ {
18
+
19
+ Task.Run(() => Hoge()).ContinueWith(_ => form.Invoke((MethodInvoker)(() => form.Close())));
20
+
21
+ form.ShowDialog();
22
+
23
+ }
24
+
25
+ }
6
26
 
7
27
 
8
28
 
9
- Task.Run(() => Thread.Sleep(5000)).ContinueWith(_ => form.Invoke((MethodInvoker)(() => form.Close())));
29
+ /// <summary>モーダル表示中にする処理</summary>
10
30
 
31
+ private void Hoge()
11
32
 
33
+ {
12
34
 
13
- form.ShowDialog();
35
+ System.Threading.Thread.Sleep(5000);
36
+
37
+ }
14
38
 
15
39
  ```