Arcengine C#开发源码
关注我的微信公众号,学习更多
1 axTOCControl有关 1.1 右键弹出菜单 using ESRI.ArcGIS.Controls; using ESRI.ArcGIS.Carto; private void axTOCControl1_OnMouseDown(object sender, ESRI.ArcGIS.Controls.ITOCControlEvents_OnMouseDownEvent e) { if (e.button != 2) //响应右键点击事件 return; System.Drawing.Point p = new System.Drawing.Point(e.x, e.y); System.Drawing.Point pPoint = axTOCControl1.PointToScreen(p); contextMenuStrip1.Show(pPoint.X, pPoint.Y); } 1.2 axTOCControl1中隐藏图例 private void HideLayerInfo(ILayer layer) { ILegendInfo pLInfo; pLInfo = layer as ILegendInfo; ILegendGroup pLGroup; int i; for (i = 0; i < pLInfo.LegendGroupCount; i++) { pLGroup = pLInfo.get_LegendGroup(i); pLGroup.Visible = false; } axTOCControl1.Update(); } 1.3 axTOCControl1中显示图例 private void ShowLayerInfo(ILayer layer) { ILegendInfo pLInfo; pLInfo = layer as ILegendInfo; ILegendGroup pLGroup; int i; for (i = 0; i < pLInfo.LegendGroupCount; i++) { pLGroup = pLInfo.get_LegendGroup(i); pLGroup.Visible = true; } axTOCControl1.Update(); } 1.4 axTOCControl1刷新图例 axTOCControl1.Update(); 1.5 axTOCControl1选中某个图层 axTOCControl1.SelectItem(layer, null); 1.6 axTOCControl1图层拖动 axTOCControl1.EnableLayerDragDrop = true; 1.7 axTOCControl1获得当前的图层 private void axTOCControl1_OnMouseDown(object sender, ESRI.ArcGIS.Controls.ITOCControlEvents_OnMouseDownEvent e) { esriTOCControlItem item = esriTOCControlItem.esriTOCControlItemNone; IBasicMap map = null; ILayer layer = null; object other = null; object index = null; //Determine what kind of item has been clicked on axTOCControl1.HitTest(e.x, e.y, ref item, ref map, ref layer, ref other, ref index); MessageBox.Show(layer.Name); } 1.8 axTOCControl1自定义 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using ESRI.ArcGIS.Controls; namespace lesson10 { public partial class Form1 : Form { //定义全局的自定义对话框变量 private ICustomizeDialog m_CustomizeDialog = new CustomizeDialogClass(); //定义全局的自定义对话框启动事件委托 private ICustomizeDialogEvents_OnStartDialogEventHandler startDialogEventHandler; //定义全局的自定义对话框关闭事件委托 private ICustomizeDialogEvents_OnCloseDialogEventHandler closeDialogEventHandler; public Form1() { InitializeComponent(); createCustomizeDialog(); } //该方法对委托和定制对话框进行设置 private void createCustomizeDialog() { startDialogEventHandler = new ICustomizeDialogEvents_OnStartDialogEventHandler(onStartDialog); ((ICustomizeDialogEvents_Event)m_CustomizeDialog).OnStartDialog += startDialogEventHandler; closeDialogEventHandler = new ICustomizeDialogEvents_OnCloseDialogEventHandler(onCloseDialog); ((ICustomizeDialogEvents_Event)m_CustomizeDialog).OnCloseDialog += closeDialogEventHandler; m_CustomizeDialog.DialogTitle = "自定义工具栏项"; m_CustomizeDialog.SetDoubleClickDestination(this.axToolbarControl1); } private void onStartDialog() { this.axToolbarControl1.Customize = true; } private void onCloseDialog() { } private void cbCustomize_CheckedChanged(object sender, EventArgs e) { if (this.cbCustomize.Checked == false) { m_CustomizeDialog.CloseDialog(); } else { m_CustomizeDialog.StartDialog(this.axToolbarControl1.hWnd); } } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2018-01-16 缩放到被选择的部分: ICommand Cmd = new ControlsZoomToSelectedCommandClass();
2018-01-16 警告 7 隐藏了继承的成员。如果是有意隐藏,请使用关键字 new
2016-01-16 丹东市国土资源信息中心派专业技术人员外出学习培训心得