/// <summary> /// 重置缩放尺寸 /// </summary> /// <param name="clientSize">客户端大小</param> public void ResetScaleSize(SIZE clientSize) { INativeBase native = Native; if (native != null) { ControlHost host = native.Host; SIZE nativeSize = native.DisplaySize; List <ControlA> controls = native.GetControls(); int controlsSize = controls.Count; for (int i = 0; i < controlsSize; i++) { WindowFrameA frame = controls[i] as WindowFrameA; if (frame != null) { WindowEx window = frame.GetControls()[0] as WindowEx; if (window != null && !window.AnimateMoving) { POINT location = window.Location; if (location.x < 10 || location.x > nativeSize.cx - 10) { location.x = 0; } if (location.y < 30 || location.y > nativeSize.cy - 30) { location.y = 0; } window.Location = location; } } } native.ScaleSize = new SIZE((int)(clientSize.cx * m_scaleFactor), (int)(clientSize.cy * m_scaleFactor)); native.Update(); } }
/// <summary> /// 销毁方法 /// </summary> public override void Dispose() { if (!IsDisposed) { if (m_securityService != null) { m_securityService.UnRegisterListener(m_securitiesRequestID, m_securityDataCallBack); m_securityDataCallBack = null; m_securityService = null; } if (m_tvBlock != null) { m_tvBlock.RegisterEvent(m_gridSelectedRowsChangedEvent, EVENTID.GRIDSELECTEDROWSCHANGED); m_gridSelectedRowsChangedEvent = null; m_gridSelectedRowsChangedEvent = null; } if (m_window != null) { m_window.UnRegisterEvent(m_invokeEvent, EVENTID.INVOKE); m_invokeEvent = null; m_window.Close(); m_window.Dispose(); m_window = null; } base.Dispose(); } }
/// <summary> /// 加载界面 /// </summary> public virtual void Load(INativeBase native, String xmlName, String windowName) { Native = native; String xmlPath = DataCenter.GetAppPath() + "\\config\\" + xmlName + ".html"; LoadFile(xmlPath, null); m_window = FindControl(windowName) as WindowEx; m_invokeEvent = new ControlInvokeEvent(Invoke); m_window.RegisterEvent(m_invokeEvent, EVENTID.INVOKE); //注册点击事件 RegisterEvents(m_window); }
/// <summary> /// 销毁方法 /// </summary> public override void Dispose() { if (!IsDisposed) { if (m_window != null) { m_invokeEvent = null; m_window.Close(); m_window.Dispose(); m_window = null; } base.Dispose(); } }