Esempio n. 1
0
        /// <summary>
        /// 释放uc中使用的资源
        /// </summary>
        public void UCDispose()
        {
            try
            {
                ////情况dock上的文本
                dockResults.Text = "";
                try
                {
                    this.dockTree.Visibility = DockVisibility.Hidden;
                }
                catch { }
                try
                {
                    this.dockResults.Visibility = DockVisibility.Hidden;
                }
                catch { }

                //try
                //{
                //    this.dockAttribute.Visibility = DockVisibility.Hidden;
                //}
                //catch { }

                //try
                //{
                //    this.dockLegend.Visibility = DockVisibility.Hidden;
                //}
                //catch { }

                this.TocControl.SetBuddyControl(null);
                //删除图上所有的图形要素
                this.UcMap.Map.ClearSelection();
                //删除地图上所有的绘制的要素
                IGraphicsContainer pGraphContainer = UcMap.ActiveView.GraphicsContainer;
                pGraphContainer.DeleteAllElements();

                //清楚所有的图层信息
                UcMap.ClearLayers();
                UcMap.ActiveView.Refresh();

                //清空结果库连接
                if (m_CurrentTask != null)
                {
                    AdoDbHelper.CloseDbConnection(m_CurrentTask.ResultConnection);
                    m_CurrentTask.Release();
                }

                //清空tree的结果
                //ucRulesTree.Dispose();

                //TocControl = null;
                GC.Collect();
            }
            catch
            {
            }
        }