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();
            }
        }
Exemple #2
0
        /// <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();
            }
        }