您的位置:首页 > 编程语言 > C#

C#+AE二次开发问题汇总与解决方案

2017-03-15 12:49 246 查看
ArcGIS Engine10.2 + VS2012

主要记录我个人在学习C#+AE二次开发过程中遇到的问题,希望能为遇到同样问题的朋友们提供一点帮助:)

1.警告中一直出现的无法嵌入互操作类型

解决方案:解决方案资源管理器->引用->ESRI.ArcGIS.****(右键与警告中出现的名称相同的引用->属性->嵌入互操作类型 设为False)

(有时需要把引用中的stole的【嵌入互操作类型】也改为false)

2.在制作鹰眼图过程中可能会遇到的问题,将MapControl中的地图复制到PageLayoutControl中去的函数在运行时发生异常。

“System.Windows.Forms.AxHost.InvalidActiveXStateException”类型的异常在 ESRI.ArcGIS.AxControls.dll 中发生,但未在用户代码中进行处理

解决方案:在代码中添加异常处理,代码如下:

 //将MapControl中的地图复制到PageLayoutControl中去

        private void CopyMapFromMapControlToPageLayoutControl()

        {

            try

            {

                //获得IObjectCopy接口

                IObjectCopy pObjectCopy = new ObjectCopyClass();

                //获得要拷贝的图层 

                System.Object pSourceMap = axMapControl1.Map;

                //获得拷贝图层

                System.Object pCopiedMap = pObjectCopy.Copy(pSourceMap);

                //获得要重绘的地图 

                System.Object pOverwritedMap = axPageLayoutControl1.ActiveView.FocusMap;

                //重绘pagelayout地图

                pObjectCopy.Overwrite(pCopiedMap, ref pOverwritedMap);

            }

            catch (Exception ex)

            {

            }

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# arcgis engine