AxControls与Controls之联系区别(转)

ESRI.ArcGIS.AxControls 与 ESRI.ArcGIS.Controls的各种含义,

ArcEngine与 VS2005/08紧密集成,在工具箱中有基本的ArcEngine 控件,这里控件来源于那里呢?通过在工具箱的快捷菜单中的“选择项”命令,可以看到如下图选项:

 

从上图所以看出,工具箱中

 

这些控件,均来源于,ESRI.ArcGis.AxControl 这个程序集中,这个程序集已经位于全局程序集缓存(Global Assembly Cache,GAC目录中,什么时全局程序集缓存目录呢?这个问题可以详细参考《框架设计(第2版) CLR Via C#》一书P61页,一般来说,该目录的路径是:C:\WINDOWS\assembly

以下是在该目录底下找到该程序集的截图:

 

根据信息,尝试在cmd窗口中执行以下命令,将会看到,这个程序集实际对应的dll文件,

chdir C:\WINDOWS\assembly

chdir GAC_MSIL

chdir ESRI.ArcGIS.AxControls

chdir 9.3.0.1770__8fc3cc631e44ad86

dir

命令执行截图如下:

 

当将一个 axLicenseControl和一个axMapControl 添加到窗口上时,可以发现,在引用中添加了以下程序集:

 

注意,看起来似乎是名称空间,其实是程序集!

可以在属性窗口中看到各程序集的路径。

ESRI.ArcGIS.AxControls:C:\Program Files\ArcGIS\DotNet\ESRI.ArcGIS.AxControls.dll

ESRI.ArcGIS.Controls:C:\Program Files\ArcGIS\DotNet\ESRI.ArcGIS.Controls.dll

通过对象浏览器,可以看到,两个程序集下的名称空间都是:ESRI.ArcGIS.Controls

如下图:

 

所以,不可能使用 using ESRI.ArcGIS.AxControls这样的语句的!因为这不是一个名称空间,而使用 using ESRI.ArcGIS.Controls 这个名称空间下面的类时,你可能使用了 ESRI.ArcGIS.AxControls或者 ESRI.ArcGIS.Controls 程序集下的类。

ESRI.ArcGIS.AxControls程序集下主要类是各种以Ax开头的控件类及与之相关的事件类

ESRI.ArcGIS.Controls 程序集下的类,就是我们常的各种类。

事实上,在.NET Framework组件中,AxMapControl与 MapControl是指向同一东西的!如下图:

 

 

总结完成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值