基本思路如下:利用鼠标左键将需要调整顺序的图层移动至目标位置。

①需要涉及到TOCControl的OnMouseDown事件来获取要调整的图层,

②OnMouseUp事件获得目标图层和索引号,

③再利用IMap提供的MoveLayer方法,将相应调整axMapControl中的图层的显示顺序。

④最后使用TOCControl的Update方法来更新TOCControl控件中的显示顺序;



//全局变量public ITOCControl mTOCControl;public ILayer pMoveLayer;//需要被调整的图层;public int toIndex;//将要调整到的目标图层的索引;//窗体加载private void Form1_Load(object sender, EventArgs e){this.axTOCControl1.SetBuddyControl(this.axMapControl1);mTOCControl=this.axTOCControl1.Object as ITOCControl;}//TOCControl控件的OnMouseDown事件,获得需要被调整的图层private void axTOCControl1_OnMouseDown(object sender, ITOCControlEvents_OnMouseDownEvent e){esriTOCControlItem item=esriTOCControlItem.esriTOCControlItemNone;if (e.button == 1){IBasicMap map = null;ILayer layer = null;object other = null;object index = null;mTOCControl.HitTest(e.x, e.y, ref item, ref map, ref layer, ref other, ref index);if (item == esriTOCControlItem.esriTOCControlItemLayer){if(layer is IAnnotationSublayer){return;}else{pMoveLayer = layer;}}}}//TOCControl控件的OnMouseUp事件,获得目标图层及索引//并实现axMapControl中视图显示的索引的变化,并更新TOCControl控件中的显示顺序private void axTOCControl1_OnMouseUp(object sender, ITOCControlEvents_OnMouseUpEvent e){if (e.button == 1){esriTOCControlItem item = esriTOCControlItem.esriTOCControlItemNone;IBasicMap map = null;ILayer layer = null;object other = null;object index = null;mTOCControl.HitTest(e.x, e.y, ref item, ref map, ref layer, ref other, ref index);IMap pMap = this.axMapControl1.ActiveView.FocusMap;if(item==esriTOCControlItem.esriTOCControlItemLayer||layer!=null){if (pMoveLayer != null){ILayer pTempLayer;for (int i = 0; i < pMap.LayerCount; i++){pTempLayer = pMap.get_Layer(i);if (pTempLayer == layer){toIndex = i;}}pMap.MoveLayer(pMoveLayer,toIndex);axMapControl1.ActiveView.Refresh();mTOCControl.Update();}}}}

  

转载于:https://www.cnblogs.com/cuiguanghe/archive/2013/04/01/2993517.html

C#+AE 调整TOCControl控件中图层的显示顺序相关推荐

  1. C# 选中 DataGridView 控件中的行时显示不同的颜色

    可以利用 DataGridView 控件的 SelectionMode.ReadOnly 和 SelectionBackColor 属性实现当选中DataGridView控件中的行时显示不同的颜色. ...

  2. Qt 实现QT控件中的QLabel显示图片并自适应显示

    一.需求 实现QT控件中的QLabel显示图片,并自适应显示. 二.代码 QImage Image; Image.load(":/image/image/logo.jpg"); Q ...

  3. 在图片控件中应用win32显示图片总结

    先贴出来在mfc环境下实现的代码: void CShowBmpInDlgDlg::ShowBmpInStaic() { CBitmap hbmp; HBITMAP hbitmap; //将pStati ...

  4. ToolStrip控件中如何添加功能按钮

    1,在工具箱中选择ToolStrip控件 2,在属性框,选择item 3,进入该界面,选择添加类型 4,指定选定控件的类型 name:控件的名字,相当于对象名. text:指定控件中内容限制字段 im ...

  5. 基于C#的GIS开发20210426之类库同名类、制作winform控件、建立控件之间的关联、自己制作控件、自己控件引入项目、显示磁盘文件夹、磁盘文件与picturebox建立关系、图像拉伸

    C#知识点与控件的制作 一.C#中多个类库中有同名类,区分问题 二.制作最简单的winform控件 1.拖动加载 事件代理 筛选器 2.显示属性.事件,及其修改 常见控件属性介绍 窗体常用的方法 常见 ...

  6. [翻译]Scott Mitchell 的ASP.NET 2.0数据教程之十三:在DetailsView控件中使用TemplateField...

    导言 比起BoundField.CheckBoxField.HyperLinkField以及其他的那些数据字段控件(data field controls)来说,TemplateField提供了一种高 ...

  7. 如何:在 Windows 窗体 ListView 控件中启用平铺视图 【转载】

    本文转载自http://msdn.microsoft.com/zh-cn/library/s8z85th0(VS.80).aspx 借助于 ListView 控件的平铺视图功能,可以在图形信息和文本信 ...

  8. 控件中一些常用的属性和事件

    1.1常用基本属性 1)Name:表示控件的名称. 2)Enabled:表示控件是否可以对用户交互做出响应. 3)Font:表示控件中显示文字的字体格式,包括字体名称.字号以及是否以斜体.加粗和下划线 ...

  9. 运用C#在VS2017的PictureBox控件中绘制简易二自由度机械臂,并且让机械臂实现画直线、圆、人物轮廓及写字的功能。

    运用C#在VS2017的PictureBox控件中绘制简易二自由度机械臂,并且让机械臂实现画直线.圆.人物轮廓及写字的功能. 给大家看看效果吧 演示写字视频在下: VID 首先放置了诸多控件 在给控件 ...

最新文章

  1. 算法_贪心 刷题总结
  2. html 点击空白关闭浮层,js中点击空白区域时文本框与隐藏层的显示与影藏问题...
  3. 文档类CDocument、子框架类CFrameWnd及视图类CView的关系及如何相互调用
  4. python写的一个贴吧爬虫_Python-简单百度贴吧爬虫
  5. Rube GoldbergSpring整合
  6. 云+X案例展 | 民生类:纷享销客助力沃得农机构筑智能化、信息化之路
  7. Being a Good Boy in Spring Festival【博弈】
  8. Elasticsearch 基本介绍及其与 Python 的对接实现
  9. 首销价1999元起!OPPO K9 Pro开启预售:搭载天玑1200芯片
  10. 使用DataX同步MaxCompute数据到TableStore(原OTS)优化指南
  11. php beanstalk 客户端,Pheanstalk(beanstalk的PHP客户端)-连接如何工作?
  12. 【网络工程】浅显易懂TCP/IP协议 三次握手 四次挥手
  13. openwrt nas_树莓派安装 OpenWrt 打造超级路由器
  14. C/C++实现百度API GET请求
  15. 2010下半年网络规划设计师上午试卷、标准参考答案及分析(3)
  16. matplotlib画各种图的方法(2)
  17. Java分布式二手房项目尚好房第五课 图片上传及前端房源展示
  18. svn禁止访问“/svn/project/!svn/act解决办法
  19. python网页爬虫+简单的数据分析
  20. 【人工智能 AI 2.0】李开复:我亲自筹组 Project AI 2.0 不仅仅要做中文版ChatGPT

热门文章

  1. STL 简介,标准模板库
  2. Python设计模式面向对象编程
  3. cvs linux权限,Linux下CVS+ACL的权限控制是什么? 爱问知识人
  4. 压缩感知及应用 源代码_【DMD应用】基于压缩感知超分辨鬼成像
  5. python中gil锁和线程锁_Python线程——GIL锁、线程锁(互斥锁)、递归锁(RLock)...
  6. excel甘特图模板_类似这样的甘特图是怎么做的?
  7. python免安装环境 linux_python如何打包脚本(库也一起打包),直接在linux环境运行,不需要安装库?...
  8. 2021年去中心化金融平台22亿美元加密货币被盗
  9. 区分Java拦截器和过滤器
  10. log包在Golang语言的标准库中是怎么使用的?