public ContainerForm(ServiceBusHelper serviceBusHelper, MainForm mainForm, RelayDescription relayDescription) { try { InitializeComponent(); Task.Factory.StartNew(AsyncWriteToLog).ContinueWith(t => { if (t.IsFaulted && t.Exception != null) { WriteToLog(t.Exception.Message); } }); this.mainForm = mainForm; mainSplitterDistance = mainSplitContainer.SplitterDistance; SuspendLayout(); panelMain.SuspendDrawing(); panelMain.Controls.Clear(); panelMain.BackColor = SystemColors.GradientInactiveCaption; testRelayControl = new TestRelayControl(mainForm, WriteToLog, StopLog, StartLog, relayDescription, new ServiceBusHelper(WriteToLog, serviceBusHelper)) { Location = new Point(1, panelMain.HeaderHeight + 1), Size = new Size(panelMain.Size.Width - 3, panelMain.Size.Height - 26), Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right }; Text = string.Format(TestRelayFormat, relayDescription.Path); testRelayControl.btnCancel.Text = CloseLabel; testRelayControl.btnCancel.Click -= testRelayControl.btnCancel_Click; testRelayControl.btnCancel.Click += BtnCancelOnClick; testRelayControl.Focus(); panelMain.HeaderText = string.Format(HeaderTextTestRelayFormat, relayDescription.Path); panelMain.Controls.Add(testRelayControl); SetStyle(ControlStyles.ResizeRedraw, true); } finally { panelMain.ResumeDrawing(); ResumeLayout(); } }
private void TestRelay(RelayDescription relayDescription, bool sdi) { if (sdi) { TestRelayControl relayServiceControl = null; try { panelMain.SuspendDrawing(); foreach (var userControl in panelMain.Controls.OfType<UserControl>()) { userControl.Dispose(); } panelMain.Controls.Clear(); panelMain.BackColor = SystemColors.GradientInactiveCaption; relayServiceControl = new TestRelayControl(this, WriteToLog, StopLog, StartLog, relayDescription, serviceBusHelper); relayServiceControl.SuspendDrawing(); relayServiceControl.Location = new Point(1, panelLog.HeaderHeight + 1); panelMain.Controls.Add(relayServiceControl); SetControlSize(relayServiceControl); relayServiceControl.OnCancel += MainForm_OnCancel; } catch (Exception ex) { HandleException(ex); } finally { panelMain.ResumeDrawing(); if (relayServiceControl != null) { relayServiceControl.ResumeDrawing(); } } } else { var form = new ContainerForm(serviceBusHelper, this, relayDescription); form.Show(); } }