コード例 #1
0
        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        /// <param name="disposing">истинно, если управляемый ресурс должен быть удален; иначе ложно.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (this.PagePreview != null)
                {
                    this.PagePreview.SelectedIndexChanged -= PagePreviewSelectedIndexChanged;
                    this.PagePreview.Items.Clear();
                    if (InvokeRequired)
                    {
                        Invoke((MethodInvoker)(PagePreview.Dispose));
                    }
                    else
                    {
                        PagePreview.Dispose();
                    }
                    this.PagePreview = null;
                }

                if (PagePreviewImages != null)
                {
                    PagePreviewImages.Images.Clear();
                    if (InvokeRequired)
                    {
                        Invoke((MethodInvoker)(PagePreviewImages.Dispose));
                    }
                    else
                    {
                        PagePreviewImages.Dispose();
                    }
                    PagePreviewImages = null;
                }

                if (this.PageView != null)
                {
                    Subscribe_PageView_ClientSizeChanged(false);
                    if (InvokeRequired)
                    {
                        Invoke((MethodInvoker)(PageView.Dispose));
                    }
                    else
                    {
                        PageView.Dispose();
                    }
                    this.PageView = null;
                }

                if (DocPages != null)
                {
                    DocPages.Clear();
                }
            }

            System.GC.Collect();

            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }