AxMapControl与MapControl冲突及IMapControlEvents2_OnMouseDownEventHandler错误的解决方法

 

今天在写插件程序的时候遇到这样一个问题:在VS2005的一个WinForm上拖放一个AxMapControl控件,运行,没有任何错误;但是双击AxMapControl控件后再运行,就会出错,错误信息为:

 

类型“ESRI.ArcGIS.MapControl.IMapControlEvents2_OnMouseDownEventHandler”同时存在于“f:/Program Files/ArcGIS/DotNet/ESRI.ArcGIS.AxMapControl.dll”和“f:/Program Files/ArcGIS/DotNet/ESRI.ArcGIS.MapControl.dll”中       E:/C#2005 Programming/WindowsApplication1/WindowsApplication1/Form1.Designer.cs       43    74    WindowsApplication1

 

另外,在自定义事件的时候也常常出现这种错误,意思大概是AxMapControlMapControl之间存在一定冲突。以前用VS2003+AE9.1或者VS2005+AE9.2都没有出现这种问题,我想这应该是ESRI的一个bug吧。后来在baidu上找到了解决方法:

第一步:在解决方案资源管理器中,选中“ESRI.ArcGIS.AxMapControl”项,在属性栏中,将其别名由“global”改为“global, MapControlAlias”;

第二步:在using出添加饮用为,extern alias MapControlAlias;

第三步:在事件加“MapControlAlias::”。

 

改动结果为:

extern alias MapControlAlias;

using System;

using System.Collections.Generic;

using System.Text;

using PluginFramework;

using System.Windows.Forms;

using ESRI.ArcGIS.Carto;

using ESRI.ArcGIS.Geometry;

using ESRI.ArcGIS.MapControl;

……

this.application.axMapControl.OnMouseDown+=new MapControlAlias::ESRI.ArcGIS.MapControl.IMapControlEvents2_OnMouseDownEventHandler(this.axMapControl_OnMouseDown);

 

 

改动之后再运行,不报错。因为水平差,原因不明。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值