teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

修正

2021/06/23 04:53

投稿

退会済みユーザー
answer CHANGED
@@ -1,5 +1,5 @@
1
1
  awaitを使えばよいと思います。
2
- 適当なサンプルですが、
2
+ 下記は適当なサンプルですが、ShowDialogを実行して5秒経過した時点でTaskが終了し、FormModalが閉じます。
3
3
  ```C#
4
4
  //モーダルダイアログ作成側
5
5
  private void button1_Click(object sender, EventArgs e)
@@ -24,8 +24,10 @@
24
24
  InitializeComponent();
25
25
  }
26
26
 
27
- private async void FormModal_Shown(object sender, EventArgs e)
27
+ protected override async void OnShown(EventArgs e)
28
28
  {
29
+ base.OnShown(e);
30
+
29
31
  //タスク終了を待ってフォームを閉じる
30
32
  await HogeTask;
31
33
  Close();