Esempio n. 1
0
        /// <summary>
        /// 关闭窗体事件
        /// </summary>
        public override void OnPreviewViewUnLoaded(System.ComponentModel.CancelEventArgs e)
        {
            e.Cancel = !this.CheckDocData();

            if (!e.Cancel)                                              // 关闭窗口时,清除当前打开窗体对象
            {
                ExtendAppContext.Current.CurrentDocName = string.Empty; // 文书加载也清空
                ExtendAppContext.Current.CurntOpenForm  = null;
                Messenger.Default.Unregister <string>(this);

                if (curBaseDoc != null && !curBaseDoc.IsDisposed)
                {
                    GC.Collect();
                    GC.Collect();
                    curBaseDoc.Dispose();
                    GC.SuppressFinalize(curBaseDoc);
                    GC.Collect();
                    GC.Collect();
                }
            }
        }