public CollapsibleExceptionNotifyForm(Exception ex, string furtherMessage, string title)
{
this._exception = ex;
this._summary = _controlFactory.CreatePanel();
this._summary.Text = title;
this._summary.Height = SUMMARY_HEIGHT;
ITextBox messageTextBox = GetSimpleMessage(ex.Message);
messageTextBox.ScrollBars = ScrollBars.Vertical;
ILabel messageLabel = GetErrorLabel(furtherMessage);
BorderLayoutManager summaryManager = _controlFactory.CreateBorderLayoutManager(_summary);
summaryManager.AddControl(messageLabel, BorderLayoutManager.Position.North);
summaryManager.AddControl(messageTextBox, BorderLayoutManager.Position.Centre);
this._buttonsOK = _controlFactory.CreateButtonGroupControl();
this._buttonsOK.AddButton("&OK", new EventHandler(OKButtonClickHandler));
this._buttonsDetail = _controlFactory.CreateButtonGroupControl();
this._buttonsDetail.AddButton("Email Error", EmailErrorClickHandler);
this._moreDetailButton = _buttonsDetail.AddButton("More Detail ยป", MoreDetailClickHandler);
this._buttonsDetail.Width = 2 * (_moreDetailButton.Width + 9);
this._fullDetailsVisible = false;
this.SetFullDetailsPanel();
this.LayoutForm();
this.Text = title;
this.Width = 600;
this.Height = SUMMARY_HEIGHT + BUTTONS_HEIGHT + 16;
this.StartPosition = FormStartPosition.CenterScreen;
//this.Resize += ResizeForm;
}