/// <summary> /// Shows form /// </summary> /// <param name="sf">Object which shows form</param> public static void Show(this IShowForm sf) { sf.ShowForm(); Form form = sf.Form as Form; if (form == null) { return; } if (forms.Contains(form)) { if (form.IsDisposed) { forms.Remove(form); } return; } else { forms.Add(form); if (sf is IEnabled) { IEnabled en = sf as IEnabled; form.FormClosed += (object senrer, FormClosedEventArgs ev) => { try { if (forms.Contains(form)) { forms.Remove(form); } if (!en.Enabled) { en.Enabled = true; } } catch (Exception ex) { ex.ShowError(10); } }; if (en.Enabled) { en.Enabled = false; } } } }
/// <summary> /// Test buffer with UI /// </summary> /// <param name="buffer">Byte buffer that contains scenario</param> /// <param name="binder">Serialization binder</param> /// <param name="pan">Desktop</param> /// <param name="ext">Extension</param> /// <param name="extd">Required extension</param> /// <returns>Test exception</returns> public Exception TestBuffer(byte[] buffer, SerializationBinder binder, PanelDesktop pan, string ext, string extd) { try { MemoryStream ms = new MemoryStream(buffer); pan.LoadFromStream(ms, binder, ext, extd); foreach (object o in pan.Controls) { if (o is IShowForm) { IShowForm sf = o as IShowForm; sf.ShowForm(); } } pan.TempDelete(); } catch (Exception e) { e.ShowError(10); return(TestException.GetRoot(e)); } return(null); }