/// <summary> /// 建立地圖命令 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void New_Click(object sender, EventArgs e) { // 本命令涉及到 MapControl 和 PageLayoutControl 同步問題,將在下一講中實現 } /// <summary> /// 開啟地圖文檔 Mxd 命令 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Open_Click(object sender, EventArgs e) { // 本命令涉及到 MapControl 和 PageLayoutControl 同步問題,將在下一講中實現 } /// <summary> /// 添加資料命令 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddData_Click(object sender, EventArgs e) { int currentLayerCount = this.axMapControl1.LayerCount; ICommand pCommand = new ControlsAddDataCommandClass(); pCommand.OnCreate(this.axMapControl1.Object); pCommand.OnClick(); } /// <summary> /// 儲存地圖文檔命令 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Save_Click(object sender, EventArgs e) { // 首先確認當前地圖文檔是否有效 if (null != m_pageLayoutControl.DocumentFilename && m_mapControl.CheckMxFile(m_pageLayoutControl.DocumentFilename)) { // 建立一個新的地圖文檔執行個體 IMapDocument mapDoc = new MapDocumentClass(); // 開啟當前地圖文檔 mapDoc.Open(m_pageLayoutControl.DocumentFilename, string.Empty); // 用 PageLayout 中的文檔替換當前文檔中的 PageLayout 部分 mapDoc.ReplaceContents((IMxdContents)m_pageLayoutControl.PageLayout); // 儲存地圖文檔 mapDoc.Save(mapDoc.UsesRelativePaths, false); mapDoc.Close(); } } /// <summary> /// 另存新檔地圖文檔命令 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SaveAs_Click(object sender, EventArgs e) { // 調用另存新檔命令 ICommand command = new ControlsSaveAsDocCommandClass(); command.OnCreate(m_controlsSynchronizer.ActiveControl); command.OnClick(); } /// <summary> /// 退出程式 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Exit_Click(object sender, EventArgs e) { Application.Exit(); } |