/// <summary> /// 显示 /// </summary> public virtual void ShowDialog() { if (m_isWinForm) { SIZE windowSize = new SIZE(); List <ControlA> controls = m_window.m_controls; int controlsSize = controls.Count; m_winForm = new BugHoleForm(); for (int i = 0; i < controlsSize; i++) { ControlA subControl = controls[i]; if (!(subControl is WindowButton)) { windowSize = subControl.Size; subControl.Margin = new PADDING(0, 0, 0, 0); m_winForm.AddBugHole(Native, subControl); break; } } Native = m_winForm.Native; m_winForm.Text = m_window.Text; if (m_window.WindowState == WindowStateA.Max) { m_winForm.WindowState = FormWindowState.Maximized; } else if (m_window.WindowState == WindowStateA.Min) { m_winForm.WindowState = FormWindowState.Minimized; } else { m_winForm.ClientSize = new Size(windowSize.cx, windowSize.cy); } m_winForm.Window = this; m_winForm.ShowDialog(); } else { m_window.Location = new POINT(-m_window.Width, -m_window.Height); m_window.AnimateShow(true); m_window.Invalidate(); } }
/// <summary> /// 销毁方法 /// </summary> public override void Dispose() { if (!IsDisposed) { if (m_winForm != null && m_winForm.Window != null) { m_winForm.Window = null; m_winForm.Close(); m_winForm = null; } if (m_window != null) { m_invokeEvent = null; m_window.Close(); m_window.Dispose(); m_window = null; } base.Dispose(); } }