プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2018/10/24

[C#] 例外メッセージボックス

event_note2018/10/24 0:17

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);