private void 全图ToolStripMenuItem_Click(object sender, EventArgs e) { ICommand pCommand = new ControlsMapFullExtentCommandClass(); pCommand.OnCreate(this.axMapControl1.Object); pCommand.OnClick(); }加粗的字体的问题为//无法将类型“ESRI.ArcGIS.Controls.ControlsMapFullExtentCommandClass”隐式转换为“System.Windows.Input.ICommand”存在一个显示转换(是否缺少强制转换?)
希望各位来看看 帮忙解决一下这个问题 谢谢您的解答
答:
ICommand 你看下接口属于哪个命名空间下,估计是Windows的吧!后面创建的是ArcGis类,二者不同所以会出错,你在命名空间添加ESRI.ArcGIS.SystemUI,进行对ICommand进行指定,问题应该就解决了。现在学GIS搞二次开发,特别是AE这块,远不如做WebGIS挣钱,做AE其实对C#掌握的程度说实话真心不高,主要是对ArcEngine接口的掌握,这些只要花时间久好了。真想在GIS下发展,还是要兼顾着学习WebGIS,当然每个公司做WebGIS
的方向不同,开发语言选择也不同,C#简单点,也有公司用Java。
public static void MapGlobeView(AxMapControl axMap) { ESRI.ArcGIS.SystemUI.ICommand cmd = new ControlsMapFullExtentCommandClass(); cmd.OnCreate(axMap.Object); cmd.OnClick(); }