private DialogResult ShowWindow(Form form)
        {
            DialogResult dialogResult = DialogResult.None;
            form.FormClosing += this.ResetDelegate;
            form.UpdateControl(
                () =>
                {
                    var oldActiveWindow = this.GetActiveForm();
                    this.SetActiveForm(form);
                    dialogResult = form.ShowDialog(oldActiveWindow);
                });

            return dialogResult;
        }
        private bool ShowNoActivate(Form form)
        {
            form.UpdateControl(
                () =>
                {
                    var fw = new FLASHWINFO
                    {
                        cbSize = Convert.ToUInt32(Marshal.SizeOf(typeof(FLASHWINFO))),
                        hwnd = form.Handle,
                        dwFlags = FLASHW_ALL,
                        uCount = 2
                    };

                    this.SetActiveForm(form);
                    FlashWindowEx(ref fw);
                    ShowWindow(form.Handle, SW_SHOWNOACTIVATE);
                    form.FormClosing += this.ResetDelegate;
                });

            return true;
        }