例外メッセージボックスをプログラムする方法

http://technet.microsoft.com/ja-jp/library/ms166340.aspx

Microsoft.ExceptionMessageBox.dllを使うところがミソ(僕の環境ではC:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.ExceptionMessageBox.dllにありました)。

static class ExceptionBox
{
    public static void Show(IWin32Window owner, Exception ex)
    {
        ExceptionMessageBox box = new ExceptionMessageBox(ex);
        box.Buttons = ExceptionMessageBoxButtons.OK;
        box.Show(owner);
    }
}