基于Visual Studio2012GIS二次开发的打开保存操作
- 打开操作:
(1)首先需要引用ESRI.ArcGIS.SystemUI命名空间,即添加using ESRI.ArcGIS.SystemUI;语句。
(2)在代码中创建一个OpenFileDialog对象,设置相关属性。
(3)调用OpenFileDialog对象的ShowDialog()方法打开文件选择对话框。
(4)判断用户是否选择了文件,如果选择了,则获取文件路径并打开相应的地图文档。
示例代码:
private void OpenMapDocument() { //创建OpenFileDialog对象 OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Map Documents (.mxd)|.mxd";//设置文件过滤器 openFileDialog.Multiselect = false;//禁止多选 openFileDialog.Title = "选择地图文档";//设置对话框标题
//打开文件选择对话框
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
//获取文件路径并打开相应的地图文档
string filePath = openFileDialog.FileName;
IMxDocument mxDocument = axMapControl1.Document as IMxDocument;
mxDocument.Open(filePath, "");
axMapControl1.Refresh();
}
}
- 保存操作:
(1)首先需要引用ESRI.ArcGIS.SystemUI和ESRI.ArcGIS.Carto命名空间,即添加using ESRI.ArcGIS.SystemUI;和using ESRI.ArcGIS.Carto;语句。
(2)在代码中创建一个SaveFileDialog对象,设置相关属性。
(3)获取当前地图文档路径和名称,如果为空则弹出保存对话框,否则直接保存。
(4)判断用户是否选择了保存路径,如果选择了,则保存地图文档。
示例代码:
private void SaveMapDocument() { //创建SaveFileDialog对象 SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Map Documents (.mxd)|.mxd";//设置文件过滤器 saveFileDialog.Title = "保存地图文档";//设置对话框标题
//获取当前地图文档路径和名称
IMxDocument mxDocument = axMapControl1.Document as IMxDocument;
string filePath = mxDocument.DocumentFilename;
//如果为空则弹出保存对话框,否则直接保存
if (string.IsNullOrEmpty(filePath))
{
//打开保存对话框
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
//保存地图文档
filePath = saveFileDialog.FileName;
mxDocument.SaveAs(filePath);
MessageBox.Show("地图文档保存成功!");
}
}
else
{
//保存地图文档
mxDocument.Save();
MessageBox.Show("地图文档保存成功!");
}
原文地址: https://www.cveoy.top/t/topic/hwlT 著作权归作者所有。请勿转载和采集!