[C#] コンソールアプリケーションでダイアログをモーダルで表示する

通常だと、コンソールアプリケーションはIWin32Windowを持たないのでダイアログをモーダルで表示できません。だからどうすればいいかって言うと、無ければ作ればいいじゃん。
var hidenWindow = new NativeWindow();
hidenWindow.AssignHandle(Process.GetCurrentProcess().MainWindowHandle);
var openDialog = new FolderBrowserDialog();
openDialog.ShowDialog(hidenWindow);

こうしてやることでコンソールのほうが操作できなくなって分かりやすくなるかと。

コメント

このブログの人気の投稿

初めてのC# -メモ帳でも作ってみる?-

【ファイル偽装】zipとしてもjpgとしても扱えるファイル

Javaにおいて引数付でスレッドを走らせる