1.编写数据拷贝函数(封装起来,便于多处调用);

public class GeoMapLoad
    {
        public static void CopyAndOverwriteMap(AxMapControl axMapControl, AxPageLayoutControl axPageLayoutControl)
        {
            IObjectCopy objectCopy = new ObjectCopyClass();
            object toCopyMap = axMapControl.Map;
            object copiedMap = objectCopy.Copy(toCopyMap);
            object overwriteMap = axPageLayoutControl.ActiveView.FocusMap;
            objectCopy.Overwrite(toCopyMap,ref overwriteMap);
        }
    }

2.axMapControl加载的数据发生重绘时,需要联动,所以在axMapControl的OnAfterScreenDraw事件中,需添加获取axMapControl控件中当前所显示的地理范围代码,并将当前显示范围传给axPageLayoutControl控件ActiveView对象的FocusMap中,同时调用拷贝方法;

private void axMapControl1_OnAfterScreenDraw(object sender, IMapControlEvents2_OnAfterScreenDrawEvent e)
        {
            IActiveView pAcv = axPageLayoutControl1.ActiveView.FocusMap as IActiveView;
            IDisplayTransformation displayTransformation = pAcv.ScreenDisplay.DisplayTransformation;
            displayTransformation.VisibleBounds = axMapControl1.Extent;//设置焦点地图的可视范围
            axPageLayoutControl1.ActiveView.Refresh();
            GeoMapLoad.CopyAndOverwriteMap(axMapControl1, axPageLayoutControl1);
        }

3.axMapControl加载的数据发生变化时,需要联动,所以在axMapControl的OnMapReplaced事件中需要调用数据拷贝的方法;

private void axMapControl1_OnMapReplaced(object sender, IMapControlEvents2_OnMapReplacedEvent e)
        {
            GeoMapLoad.CopyAndOverwriteMap(axMapControl1, axPageLayoutControl1);
        }

4.axMapControl中的数据显示状况发生变化时,需要联动,所以在axMapControl的OnViewRefreshed事件中需要调用数据拷贝和图层刷新的方法;

private void axMapControl1_OnViewRefreshed(object sender, IMapControlEvents2_OnViewRefreshedEvent e)
        {
            axTOCControl1.Update();
            GeoMapLoad.CopyAndOverwriteMap(axMapControl1, axPageLayoutControl1);
        }

转载于:https://www.cnblogs.com/Giser5945/p/3309374.html

MapControl与PageLayoutControl联动相关推荐

  1. 《ArcGIS Engine+C#实例开发教程》第三讲 MapControl与PageLayoutControl同步

    <ArcGIS Engine+C#实例开发教程>第三讲 MapControl与PageLayoutControl同步 原文:<ArcGIS Engine+C#实例开发教程>第三 ...

  2. PageLayoutControl的基本操作

    整理了下对PageLayoutControl的基本功能操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 ...

  3. 基于C#的AE二次开发之主界面设计

    上篇文章介绍了AE的安装与配置,下面介绍在VS2012中AE的简单主界面设计方法. 一.项目创建 1.打开VS2012建立项目 在打开界面后,点击新建项目,在弹出的界面中选择Visual C#--Ar ...

  4. ae编程语言as_AE开发 入门教程

    此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方法和步骤. 你可以在下面的目录下找到相应的样例程序: /DeveloperKit/Samples/D ...

  5. PIE SDK图层树伙伴控件示例

    1.  功能简介 TocControl控件的主要作用是显示当前加载的图层有哪些.采用什么样的符号等,目的是使用户对当前加载的数据和结构有一个总体的把握.与之相关联的伙伴控件有MapControl,Pa ...

  6. arcgis开发常用源码

    arcgis开发常用源码 1.点上生成面的代码 if (m_pFeatureLayer.FeatureClass.ShapeType == esriGeometryType.esriGeometryP ...

  7. 《ArcGIS Engine+C#实例开发教程》第一讲桌面GIS应用程序框架的建立

    原文:<ArcGIS Engine+C#实例开发教程>第一讲桌面GIS应用程序框架的建立 摘要:本讲主要是使用MapControl.PageLayoutControl.ToolbarCon ...

  8. 利用ArcGIS Engine、VS .NET和Windows控件开发GIS应用

    Dixon 原文  用ArcGIS Engine.VS .NET和Windows控件开发GIS应用 此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方 ...

  9. 《ArcGIS Engine+C#实例开发教程》第七讲 图层符号选择器的实现2

    <ArcGIS Engine+C#实例开发教程>第七讲 图层符号选择器的实现2 原文:<ArcGIS Engine+C#实例开发教程>第七讲 图层符号选择器的实现2 摘要:在第 ...

  10. ArcGIS Engine开发之旅02--ArcGIS Engine中的类库

    原文 ArcGIS Engine开发之旅02--ArcGIS Engine中的类库 System类库 System类库是ArcGIS体系结构中最底层的类库.System类库包含给构成ArcGIS的其他 ...

最新文章

  1. mysql命令技巧_Mysql命令行技巧汇总
  2. debian清除无用的库文件(清理系统,洁癖专用)
  3. proto 指定字段json名_比json快5倍的protobuf了解一下
  4. 不要再问我三次握手和四次挥手
  5. Oracle自定义函数(不断更新)
  6. 如何优化网站服务器来提高吞吐量并减少延迟时间
  7. 基于JAVA+SSH+MYSQL的工资管理系统
  8. 最小可用ID(4种方法,详细讲解)
  9. 解决安装Xcode后无法在终端执行gcc的问题
  10. SqlSessionFactory和SqlSessionTemplate
  11. wpe手机中文汉化版下载_wpe中文版
  12. [系统修复]Win XP中Winsock2系统文件破坏导致无法上网
  13. windows下icns转png或ico
  14. 计算机英语新词的认知语义阐释论文,英语新词的认知语义分析
  15. EMV规范(九)——持卡人验证(CVM)三
  16. 亚马逊服务器 购买 流程_亚马逊环如何使我们对购买的每种产品都抱有偏执
  17. mysql 查询view_MySQL之视图(VIEW)
  18. JeeSite4 一些前端资料 - 来自作者ThinkGem
  19. 【Blender批量合并fbx动画到单个gltf】
  20. 培训班H5宣传单怎么做?快进来拿方案~

热门文章

  1. mysql 0000-00-00无效_mysql0000-00-00日期异常及解决方法
  2. 【2019徐州网络赛:G】Colorful String(回文树+二进制统计回文串内不同字母数技巧)
  3. 【2017西安邀请赛:A】XOR(区间异或最大值多次查询---线段树+线性基合并)
  4. 【2019南昌邀请赛网络赛I:】Max Answer(st表+单调栈(新模版)+分析)
  5. 感悟:决定一个系统走势是多因素构成,而非单一因素决定
  6. 0字符串 if mapper test_降龙-第20章:Mapper解析
  7. 机器学习- 吴恩达Andrew Ng Week11 知识总结 Photo OCR
  8. 计算机博弈军旗程序,军棋机器人UCT算法及计算机博弈行为研究
  9. Java反射机制--反射概述
  10. 学qt的都干什么工作_【板绘前景】学板绘可以干什么工作?学多久才可以工作?好学吗?...