C#+AE 调整TOCControl控件中图层的显示顺序
基本思路如下:利用鼠标左键将需要调整顺序的图层移动至目标位置。
①需要涉及到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控件中图层的显示顺序相关推荐
- C# 选中 DataGridView 控件中的行时显示不同的颜色
可以利用 DataGridView 控件的 SelectionMode.ReadOnly 和 SelectionBackColor 属性实现当选中DataGridView控件中的行时显示不同的颜色. ...
- Qt 实现QT控件中的QLabel显示图片并自适应显示
一.需求 实现QT控件中的QLabel显示图片,并自适应显示. 二.代码 QImage Image; Image.load(":/image/image/logo.jpg"); Q ...
- 在图片控件中应用win32显示图片总结
先贴出来在mfc环境下实现的代码: void CShowBmpInDlgDlg::ShowBmpInStaic() { CBitmap hbmp; HBITMAP hbitmap; //将pStati ...
- ToolStrip控件中如何添加功能按钮
1,在工具箱中选择ToolStrip控件 2,在属性框,选择item 3,进入该界面,选择添加类型 4,指定选定控件的类型 name:控件的名字,相当于对象名. text:指定控件中内容限制字段 im ...
- 基于C#的GIS开发20210426之类库同名类、制作winform控件、建立控件之间的关联、自己制作控件、自己控件引入项目、显示磁盘文件夹、磁盘文件与picturebox建立关系、图像拉伸
C#知识点与控件的制作 一.C#中多个类库中有同名类,区分问题 二.制作最简单的winform控件 1.拖动加载 事件代理 筛选器 2.显示属性.事件,及其修改 常见控件属性介绍 窗体常用的方法 常见 ...
- [翻译]Scott Mitchell 的ASP.NET 2.0数据教程之十三:在DetailsView控件中使用TemplateField...
导言 比起BoundField.CheckBoxField.HyperLinkField以及其他的那些数据字段控件(data field controls)来说,TemplateField提供了一种高 ...
- 如何:在 Windows 窗体 ListView 控件中启用平铺视图 【转载】
本文转载自http://msdn.microsoft.com/zh-cn/library/s8z85th0(VS.80).aspx 借助于 ListView 控件的平铺视图功能,可以在图形信息和文本信 ...
- 控件中一些常用的属性和事件
1.1常用基本属性 1)Name:表示控件的名称. 2)Enabled:表示控件是否可以对用户交互做出响应. 3)Font:表示控件中显示文字的字体格式,包括字体名称.字号以及是否以斜体.加粗和下划线 ...
- 运用C#在VS2017的PictureBox控件中绘制简易二自由度机械臂,并且让机械臂实现画直线、圆、人物轮廓及写字的功能。
运用C#在VS2017的PictureBox控件中绘制简易二自由度机械臂,并且让机械臂实现画直线.圆.人物轮廓及写字的功能. 给大家看看效果吧 演示写字视频在下: VID 首先放置了诸多控件 在给控件 ...
最新文章
- 算法_贪心 刷题总结
- html 点击空白关闭浮层,js中点击空白区域时文本框与隐藏层的显示与影藏问题...
- 文档类CDocument、子框架类CFrameWnd及视图类CView的关系及如何相互调用
- python写的一个贴吧爬虫_Python-简单百度贴吧爬虫
- Rube GoldbergSpring整合
- 云+X案例展 | 民生类:纷享销客助力沃得农机构筑智能化、信息化之路
- Being a Good Boy in Spring Festival【博弈】
- Elasticsearch 基本介绍及其与 Python 的对接实现
- 首销价1999元起!OPPO K9 Pro开启预售:搭载天玑1200芯片
- 使用DataX同步MaxCompute数据到TableStore(原OTS)优化指南
- php beanstalk 客户端,Pheanstalk(beanstalk的PHP客户端)-连接如何工作?
- 【网络工程】浅显易懂TCP/IP协议 三次握手 四次挥手
- openwrt nas_树莓派安装 OpenWrt 打造超级路由器
- C/C++实现百度API GET请求
- 2010下半年网络规划设计师上午试卷、标准参考答案及分析(3)
- matplotlib画各种图的方法(2)
- Java分布式二手房项目尚好房第五课 图片上传及前端房源展示
- svn禁止访问“/svn/project/!svn/act解决办法
- python网页爬虫+简单的数据分析
- 【人工智能 AI 2.0】李开复:我亲自筹组 Project AI 2.0 不仅仅要做中文版ChatGPT
热门文章
- STL 简介,标准模板库
- Python设计模式面向对象编程
- cvs linux权限,Linux下CVS+ACL的权限控制是什么? 爱问知识人
- 压缩感知及应用 源代码_【DMD应用】基于压缩感知超分辨鬼成像
- python中gil锁和线程锁_Python线程——GIL锁、线程锁(互斥锁)、递归锁(RLock)...
- excel甘特图模板_类似这样的甘特图是怎么做的?
- python免安装环境 linux_python如何打包脚本(库也一起打包),直接在linux环境运行,不需要安装库?...
- 2021年去中心化金融平台22亿美元加密货币被盗
- 区分Java拦截器和过滤器
- log包在Golang语言的标准库中是怎么使用的?