ArcEngine利用索引获取图层

近期在做GP工具相关的功能,需要获取到图层并用ComboBox列出,比如图层更新:

开始用了根据图层名获取图层,但这样有个弊端,遇到不同文件夹的相同图层名称的图层gg了。本来想利用图层名+路径来区分,用IDataLayer接口,后来遇到注记图层,这个接口就不好用了,会出现异常。

其中的一句代码会出现异常,并且图层也分为shp,gdb等,所以这个方法不可取。

后来绞尽脑汁,终于想出用索引的方法来获取图层。将所有图层放到list集合中,当然获取图层要遍历,有些是在图层组里面,这样得到的集合里面的图层时有顺序的,在将图层添加到list集合的同时,也要将图层名添加到ComboBox中,这样ComboBox里面的图层名列表的顺序跟list集合里的图层顺序是一致的,当你点击ComboBox时,能获取到点击的索引,这个索引就是该图层在list列表中的索引。

思路就是这样。

一些或许有价值的参考:

https://zhidao.baidu.com/question/810569039437750732.html

http://blog.csdn.net/longronggis/article/details/7953117

http://blog.csdn.net/qq_35040828/article/details/73522136

https://gis.stackexchange.com/questions/43620/how-do-i-reach-a-layer-inside-a-grouplayer

http://zhihu.esrichina.com.cn/question/19758

 

posted @   Youse的二分口粮地  阅读(1125)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示