protected override void OnHandleDestroyed(EventArgs e) { base.OnHandleDestroyed(e); RenderContext.Instance.ControltoScreenContextマップ.Remove(this); ScreenContext.Dispose(); if (RenderContext.Instance.ControltoScreenContextマップ.Count == 0) { RenderContext.Instance.Dispose(); } }
/// <summary> /// <see cref="T:System.Windows.Forms.Control" /> とその子コントロールが使用しているアンマネージ リソースを解放します。オプションで、マネージ リソースも解放します。 /// </summary> /// <param name="disposing">マネージ リソースとアンマネージ リソースの両方を解放する場合は true。アンマネージ リソースだけを解放する場合は false。</param> protected override void Dispose(bool disposing) { base.Dispose(disposing); if (RenderContext.Instance != null) { RenderContext.Instance.ControltoScreenContextマップ.Remove(this); } ScreenContext?.Dispose(); if (RenderContext.Instance != null && RenderContext.Instance.ControltoScreenContextマップ.Count == 0) { RenderContext.Instance.Dispose(); } }