Arcgis Engine开发之ICommand的用法
文章参考自:
https://www.cnblogs.com/marvelousone/p/7417963.html
(可以跟这个年轻的博主,系统学习AE开发)
https://www.cnblogs.com/marvelousone/category/1105683.html
在Arcgis Engine类库中有大量的Command控件。
实例化一个Command对象并显式地运行它:
ICommand command = new ControlsOpenDocCommandClass();
command.OnCreate(m_mapControl.Object);
command.OnClick();
ControlsOpenDocCommandClass就是一个Command控件。
通过调用它的OnCreate方法传递给它需要交互的MapControl,然后调用它的OnClick方法就可以运行。上面的例子会激活一个打开地图文档的对话框。
由于每个Command对象都是一个COM组件,所以ESRI.ArcGIS.Controls下的各个类只是对底层的COM对象的一种封装。
private void icommandToolStripMenuItem_Click(object sender, EventArgs e)
{
ICommand pCommand = new ControlsAddDataCommand();
//谁去执行呢,要去调用axmapcontrol
pCommand.OnCreate(axMapControl1.Object);
pCommand.OnClick();
//明白真正的底层的执行
}
以上为打开地图文档的一种方式。