

PowerShellで `$form.ShowDialog()` すると、そこで処理が完全に止まってしまいます。  
ShowDialogの1秒後にWrite-Host "hoge"を処理するには、どうすればよいでしょうか？

ShowDialogの代わりにShow()を使うと、フォームのウィンドウがフリーズしました。

・やりたいこと  
メインとなるフォームを表示させ、1秒後に、コンソールにhogeと表示する。


CC BY-SA 4.0
2023-01-08T16:46:57.043
93256
2023-01-09T04:15:54.013
2023-01-09T04:15:54.013
3060
56253
question
powershell
ShowDialogの後に処理する方法


特にWinFormsの場合、いきなりPowerShellで試行錯誤するのではなく、C#で実装してからPowerShellに移植することをお勧めします。

今回の質問でも`Form.Show()`、`Form.ShowDialog()`が取り上げられていますが、C#で実装すれば、`Program.cs`の`Main()`メソッドに

[code]

    Application.Run(new Form1());
    
[/code]

と書かれるわけで、PowerShellでも対応する処理を書く必要があることに気づけるはずですし、この行を実行するとフォームが閉じられるまで返ってこないことも理解できるはずです。

> メインとなるフォームを表示させ、1秒後に、コンソールにhogeと表示する。

上記の通りなので、フォーム内のいずれかのメソッドで出力する必要があります。


CC BY-SA 4.0
2023-01-08T22:35:11.313
93259
2023-01-08T22:35:11.313
4236
93256
answer