MxDocument类表示在ArcMap应用程序中加载的地图文档
MapDocument类提供了在没有ArcMap应用程序的情况下读取和修改地图文档的常用属性的功能。
MapDocument对于批量操作,低级别文档访问和修改简单地图文档很有用
使用ArcMap预先绘制的地图文档可以加载到MapControl中,从而不需要以编程方式组成绘图。
axMapControl1.LoadMxFile(filePath, Type.Missing, Type.Missing);
链接时,PageLayoutControl在容器上创建PageLayoutControl时读取地图文档,并向地图文档显示最近的更新。
地图对象一次只能在一个视图中处于活动状态,不这样做将导致MapControl或PageLayoutControl闪烁。
//打开Mxd文档
ICommand command = new ControlsOpenDocCommandClass();
command.OnCreate(axMapControl1.Object);
command.OnClick();
//保存Mxd文档、退出时询问
private void 退出并保存ToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("是否保存文档", "退出", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning);
switch (result)
{
case DialogResult.Cancel:return;
case DialogResult.No:Application.Exit();break;
case DialogResult.Yes:
{
//创建一个MapDocument的新实例
IMapDocument mapDoc = new MapDocumentClass();
mapDoc.New(MxdPath);
//用当前地图替换它的内容
mapDoc.ReplaceContents((IMxdContents) axMapControl1.Map);
//保存MapDocument以保存它
mapDoc.Save();
//关闭MapDocument
mapDoc.Close();
Application.Exit();
}
}
break;
}
}