public void RunFormsMode(System.Windows.Forms.Form frm) { this.Reset(); this._formsMode = true; Spirograph spiro = new Spirograph(frm.Handle, Color.Black); frm.FormClosed += delegate { this.Stop(); }; //frm.ResizeEnd += delegate //{ // spiro.ResetDeviceContext(); //}; frm.SizeChanged += delegate { spiro.ResetDeviceContext(); }; frm.KeyPress += delegate { spiro.Reset(); }; frm.VisibleChanged += delegate { if (RainstormStudios.Unmanaged.Win32.IsWindowVisible(frm.Handle) && spiro.Paused) { spiro.Resume(); } else if (!RainstormStudios.Unmanaged.Win32.IsWindowVisible(frm.Handle) && !spiro.Paused) { spiro.Pause(); } }; this._forms.Add(frm); this._screens.Add(spiro); this.StartScreens(); }