C# でデスクトップアプリケーションを作成していて、致命的な例外が発生した場合にどうユーザーに通知しようか悩んでいたところ、例外メッセージボックスというがあるのを知ったので、試してみました。
環境
- Visual Studio 2017
準備
以下のページによれば、例外メッセージボックスを使うには Microsoft.ExceptionMessageBox.dll
への参照を追加する必要があるとのことです。
ソリューションエクスプローラーより該当のプロジェクトを右クリックし、[追加] > [参照] を選択します。
そして、Microsoft.ExceptionMessageBox
を追加しようとするのですが、どこを探しても見つからない・・・。
その代わりに Microsoft.SqlServer.Data.Tools.ExceptionMessageBox
というのを見つけたのでこれを使いました。
よくわからん・・・。
また、実際にコードを記述していくと System.Windows.Forms
も必要だったので、あとで追加しました。
サンプルコード
var box = new ExceptionMessageBox(ex, ExceptionMessageBoxButtons.OK, ExceptionMessageBoxSymbol.Error);
var handle = Process.GetCurrentProcess().MainWindowHandle;
var owner = System.Windows.Forms.Control.FromHandle(handle);
box.Show(owner);