frmMain代码的构建(主窗体)



           

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.DataSourcesFile;

namespace yanShi
{
    public partial class frmMain : Form
    {
        string flagOnMouseDown = null; //标记onMouseDown事件
        string flagOnMouseMove = null; //标记OnMouseMove事件
        IBasicMap basicMap = null;
        ILayer layer = null;
        System.Object other = null;
        System.Object index = null;
        esriTOCControlItem item = esriTOCControlItem.esriTOCControlItemNone;

        public frmMain()
        {
            InitializeComponent();
        }

        #region 按钮-控件属性演示
        private void btn2Arrow_Click(object sender, EventArgs e)
        {
            // 由axMapControl1控件的对象实现IMapControlDefault接口  
            IMapControlDefault pMapControlDefault = axMapControl1.Object as IMapControlDefault;

            // 设置pMapControlDefault的鼠标指针样式为箭头样式  
            pMapControlDefault.MousePointer = esriControlsMousePointer.esriPointerArrow;
            // 将整数1强制转换为esriControlsMousePointer枚举类型,并设置pMapControlDefault的鼠标指针样式为该枚举值对应的样式  
            //pMapControlDefault.MousePointer = (esriControlsMousePointer)1;
        }
        #endregion

        #region 菜单-文件-加载地图文档
        private void 加载地图文档ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // 由axMapControl1控件的对象实现IMapControlDefault接口  
            IMapControlDefault pMapControlDefault = axMapControl1.Object as IMapControlDefault;
            // 初始化一个空字符串变量,用于存储文件路径  
            var filePath = string.Empty;
            // 使用OpenFileDialog来打开文件选择对话框  
            using (OpenFileDialog openFileDialog = new OpenFileDialog())
            {
                // 设置对话框的初始目录为C盘根目录  
                //openFileDialog.InitialDirectory = "c:\\";
                // 设置文件选择对话框的标题为“打开地图文档”  
                openFileDialog.Title = "打开地图文档";
                // 设置文件选择对话框的过滤条件,支持多种地图文件格式  
                openFileDialog.Filter = "ArcMap文档(*.mxd)|*.mxd;|ArcMap模板(*.mxt)|*.mxt|发布地图文件(*.pmf)|*.pmf|所有地图格式(*.mxd;*.mxt;*.pmf)|*.mxd;*.mxt;*.pmf";
                // 设置文件选择对话框为单文件选择模式,不允许用户一次选择多个文件  
                openFileDialog.Multiselect = false;
                // 设置默认过滤索引为所有文件  
                openFileDialog.FilterIndex = 1;
                // 如果用户改变了目录,则还原到初始目录  
                openFileDialog.RestoreDirectory = false;

                // 显示文件选择对话框,并等待用户选择文件或取消操作  
                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    // 获取用户选择的文件路径  
                    filePath = openFileDialog.FileName;
                    // 检查给定的文件路径是否是一个有效的地图文档  
                    if (pMapControlDefault.CheckMxFile(filePath))
                    {
                        // 如果文件路径有效,则加载该地图文档  
                        pMapControlDefault.LoadMxFile(filePath);
                    }
                    else
                    {
                        // 如果文件路径无效,则显示一个消息框提示用户该文件是无效的地图文档  
                        MessageBox.Show(filePath + "是无效的地图文档!", "信息提示");
                        // 终止当前方法或函数的执行  
                        return;
                    }
                }
            }
        }
        #endregion

        #region 菜单-文件-添加数据-加载shapefile数据
        private void 加载shapefile数据ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // 创建一个新的ShapefileWorkspaceFactoryClass实例,用于处理shapefile类型的工作空间  
            IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactoryClass();

            // 声明一个IFeatureWorkspace类型的变量,用于表示特征工作空间  
            IFeatureWorkspace pFeatureWorkspace;

            // 声明两个字符串变量,用于存储文件目录和文件名  
            string fileDirectory = "";
            string fileName = "";

            // 创建一个新的FeatureLayerClass实例,但此时它并没有与任何特征类关联  
            IFeatureLayer pFeatureLayer = new FeatureLayerClass();

            // 声明一个IFeatureClass类型的变量,用于表示特征类  
            IFeatureClass pFeatureClass;

            // 创建一个OpenFileDialog实例,用于打开文件对话框  
            OpenFileDialog ofd = new OpenFileDialog();

            // 显示文件对话框,并检查用户是否点击了确定按钮  
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                // 获取用户选择的文件的完整路径  
                string fullPath = ofd.FileName;

                // 检查用户是否确实选择了一个文件(尽管在标准OpenFileDialog中这是不太可能的)  
                if (string.IsNullOrEmpty(fullPath))
                {
                    // 如果文件路径为空,则显示一个消息框并退出函数  
                    MessageBox.Show("文件选取出错!", "提示");
                    return;
                }

                // 查找文件路径中最后一个'\'的位置,用于分割目录和文件名  
                int sIndex = fullPath.LastIndexOf("\\");

                // 提取文件所在的目录  
                fileDirectory = fullPath.Substring(0, sIndex);

                // 提取文件名  
                fileName = fullPath.Substring(sIndex + 1);
            }
            else
            {
                // 如果用户没有点击确定按钮,则直接退出函数  
                return;
            }

            // 使用之前创建的pWorkspaceFactory打开指定的文件目录作为工作空间  
            pFeatureWorkspace = pWorkspaceFactory.OpenFromFile(fileDirectory, 0) as IFeatureWorkspace;

            // 在工作空间中打开用户指定的特征类  
            pFeatureClass = pFeatureWorkspace.OpenFeatureClass(fileName);

            // 将pFeatureLayer与打开的特征类关联  
            pFeatureLayer.FeatureClass = pFeatureClass;

            // 设置pFeatureLayer的名字为特征类的别名  
            pFeatureLayer.Name = pFeatureClass.AliasName;

            // 将pFeatureLayer添加到地图控件的焦点地图中  
            axMapControl1.ActiveView.FocusMap.AddLayer(pFeatureLayer);

            // 设置地图控件的显示范围为用户加载的特征层的范围  
            axMapControl1.ActiveView.Extent = pFeatureLayer.AreaOfInterest;

            // 刷新地图控件以显示新的图层和范围  
            axMapControl1.ActiveView.Refresh();
        }
        #endregion

        #region 菜单-文件-访问图层数据
        private void 访问图层数据ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // 获取当前ArcMap控件中处于活动视图且为焦点的地图对象  
            // axMapControl1 可能是ArcMap控件的实例  
            // ActiveView 获取当前活动的视图  
            IActiveView pActiveView = axMapControl1.ActiveView;

            // 创建一个新的frmDataBoard窗体实例,并将当前活动的视图pActiveView作为参数传入  
            // frmDataBoard 可能是自定义的窗体,用于展示或操作地图图层数据  
            frmDataBoard dataBoard = new frmDataBoard(pActiveView);

            // 显示frmDataBoard窗体  
            // Show 方法将窗体显示出来  
            dataBoard.Show();
        }
        #endregion

        #region 菜单-地图浏览-全图显示
        private void 全图显示ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // 声明一个ESRI.ArcGIS.Geometry.IEnvelope类型的变量pEnvelope,用于存储绘制的矩形范围
            ESRI.ArcGIS.Geometry.IEnvelope pEnvelope;
            // 将axMapControl1的FullExtent属性赋值给pEnvelope变量
            // FullExtent属性表示地图控件axMapControl1中所有图层范围的并集,即地图控件的完整范围  
            pEnvelope = axMapControl1.FullExtent;
            // 将axMapControl1的Extent属性设置为pEnvelope,即设置地图的当前显示范围为地图控件的完整范围  
            // Extent属性通常用来表示地图控件当前显示的范围  
            axMapControl1.Extent = pEnvelope;
        }
        #endregion

        #region 菜单-地图浏览-拉框放大
        private void 拉框放大ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            flagOnMouseDown = "LaKuangFangDa";    //flagOnMouseDown值为1时进行“拉框放大”操作
        }
        #endregion

        #region 菜单-地图浏览-逐级放大
        private void 逐级放大ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // 声明一个IEnvelope类型的变量pEnvelope,用于存储地图控件axMapControl1的当前显示范围  
            IEnvelope pEnvelope;
            // 将axMapControl1的当前显示范围赋值给pEnvelope变量  
            pEnvelope = axMapControl1.Extent;
            // 调用pEnvelope的Expand方法,以0.5为比例因子在X和Y方向上扩展Envelope的大小  
            // 第三个参数true表示扩展是乘性的,即按照比例来扩展  
            pEnvelope.Expand(0.5, 0.5, true);
            // 将扩展后的Envelope范围设置为axMapControl1的当前显示范围  
            axMapControl1.Extent = pEnvelope;
            // 刷新axMapControl1的ActiveView,以显示更新后的地图范围  
            axMapControl1.ActiveView.Refresh();
        }
        #endregion

        #region 菜单-地图浏览-漫游
        private void 漫游ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // 将全局变量flagOnMouseDown的值设置为"ManYou"  
            // 这是一个标志,用于后续的代码判断应该执行哪种鼠标操作处理逻辑 
            flagOnMouseDown = "ManYou";
            // 将axMapControl1的鼠标指针样式设置为平移模式
            // esriControlsMousePointer.esriPointerPan是ESRI ArcGIS库中的鼠标指针样式枚举值,代表平移模式
            axMapControl1.MousePointer = esriControlsMousePointer.esriPointerPan;
        }
        #endregion

        #region 菜单-地图浏览-拉框缩小
        private void 拉框缩小ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            flagOnMouseDown = "LaKuangSuoXiao";
        }
        #endregion

        #region 菜单-书签管理-查看书签列表
        private void toolStripCBXbookmarks_DropDown(object sender, EventArgs e)
        {
            // 清除toolStripCBXbookmarks控件中的所有项 
            toolStripCBXbookmarks.Items.Clear();
            // 用axMapControl1的Map对象实现IMapBookmarks接口,并将结果存储在pBookmarks变量中  
            IMapBookmarks pBookmarks = axMapControl1.Map as IMapBookmarks;
            // 从pBookmarks中获取书签的枚举器,并存储在pEnumSpatialBookmark变量中  
            IEnumSpatialBookmark pEnumSpatialBookmark = pBookmarks.Bookmarks;
            // 重置书签枚举器,使其从第一个书签开始  
            pEnumSpatialBookmark.Reset();
            // 获取第一个书签,并存储在pSpatialBookmark变量中  
            ISpatialBookmark pSpatialBookmark = pEnumSpatialBookmark.Next();
            // 当pSpatialBookmark不为null时,即还有书签未处理时,执行循环  
            while (pSpatialBookmark != null)
            {
                // 将当前书签的名称添加到toolStripCBXbookmarks控件的下拉列表中  
                toolStripCBXbookmarks.Items.Add(pSpatialBookmark.Name);
                // 获取下一个书签,并更新pSpatialBookmark变量  
                pSpatialBookmark = pEnumSpatialBookmark.Next();
            }
        }
        #endregion

        #region 菜单-书签管理-书签列表-缩放至书签范围
        private void toolStripCBXbookmarks_SelectedIndexChanged(object sender, EventArgs e)
        {
            // 用axMapControl1的Map对象实现IMapBookmarks接口,并将结果存储在pBookmarks变量中
            IMapBookmarks pBookmarks = axMapControl1.Map as IMapBookmarks;
            // 从pBookmarks中获取书签的枚举器,并存储在pEnumSpatialBookmark变量中
            IEnumSpatialBookmark pEnumSpatialBookmark = pBookmarks.Bookmarks;
            // 获取axMapControl1控件的Map对象,并将其引用赋值给pMap变量  
            IMap pMap = axMapControl1.Map;
            // 重置书签枚举器,使其从第一个书签开始  
            pEnumSpatialBookmark.Reset();
            // 获取第一个书签,并存储在pSpatialBookmark变量中 
            ISpatialBookmark pSpatialBookmark = pEnumSpatialBookmark.Next();
            // 当pSpatialBookmark不为null时,即还有书签未处理时,执行循环  
            while (pSpatialBookmark != null)
            {
                // 判断当前选中的书签名称是否与当前遍历到的书签名称相同  
                if (toolStripCBXbookmarks.SelectedItem.ToString() == pSpatialBookmark.Name)
                {
                    // 如果相同,则调用书签的ZoomTo方法,将地图视图定位到该书签所在的位置  
                    pSpatialBookmark.ZoomTo(pMap);
                    // 刷新地图控件的当前视图,以确保更改生效  
                    axMapControl1.ActiveView.Refresh();
                    // 跳出循环,因为已经找到了对应的书签并进行了定位  
                    break;
                }
                // 如果当前书签不是选中的书签,则获取下一个书签,并更新pSpatialBookmark变量  
                pSpatialBookmark = pEnumSpatialBookmark.Next();
            }
        }
        #endregion

        #region 菜单-书签管理-添加书签
        private void 添加书签ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // 创建一个frmWenBenShuRu类型的新实例,并将其赋值给frmName变量  
            frmWenBenShuRu frmName = new frmWenBenShuRu();
            // 显示frmName窗体,并等待用户关闭它(这是一个模态对话框)  
            frmName.ShowDialog();
            // 检查frmName窗体的Create属性是否为1(表示用户成功创建了书签信息)  
            if (frmName.Create == 1)
            {
                // 创建一个AOIBookmark对象实例,用于存储书签信息  
                AOIBookmark pAOIBookmark = new AOIBookmark();
                // 定义一个ISpatialBookmark类型的变量,用于在循环中遍历书签  
                ISpatialBookmark pSpatialBookmark;
                // 将axMapControl1.Map作为实现IMapBookmarks接口的对象,并赋值给pMapBookmarks变量  
                IMapBookmarks pMapBookmarks = axMapControl1.Map as IMapBookmarks;
                // 获取pMapBookmarks中所有的书签,并赋值给pEnumSpatialBookmark  
                IEnumSpatialBookmark pEnumSpatialBookmark = pMapBookmarks.Bookmarks;
                // 重置pEnumSpatialBookmark枚举器的位置,以便从头开始遍历  
                pEnumSpatialBookmark.Reset();
                // 遍历所有的书签  
                for (pSpatialBookmark = pEnumSpatialBookmark.Next(); pSpatialBookmark != null; pSpatialBookmark = pEnumSpatialBookmark.Next())
                {
                    // 如果当前书签的名称与frmName中指定的书签名称相同  
                    if (pSpatialBookmark.Name == frmName.BookmarkName)
                    {
                        // 显示一个错误消息框,告诉用户已有同名书签  
                        MessageBox.Show("已有同名书签!", "错误");
                        // 退出当前方法  
                        return;
                    }
                }
                // 设置pAOIBookmark的书签名称为用户在frmName窗体中输入的书签名称  
                pAOIBookmark.Name = frmName.BookmarkName;
                // 设置pAOIBookmark的书签位置为当前axMapControl1的ActiveView的Extent(即地图的当前显示范围)  
                pAOIBookmark.Location = axMapControl1.ActiveView.Extent;
                // 将pAOIBookmark添加到pMapBookmarks的书签集合中  
                pMapBookmarks.AddBookmark(pAOIBookmark);
            }
        }
        #endregion

        #region 菜单-地图浏览-缩放至当前图层
        
        private void toolStripComboBoxTuCeng_DropDown(object sender, EventArgs e)
        {
            // 清空toolStripComboBoxTuCeng控件的所有项  
            toolStripComboBoxTuCeng.Items.Clear();

            // 获取axMapControl1控件中的地图对象  
            IMap pMap = axMapControl1.Map;

            // 遍历地图中的图层  
            for (int i = 0; i < pMap.LayerCount; i++)
            {
                // 将当前图层的名称添加到toolStripComboBoxTuCeng控件的项集合中  
                toolStripComboBoxTuCeng.Items.Add(pMap.get_Layer(i).Name);
            }
        }

        private void toolStripComboBoxTuCeng_SelectedIndexChanged(object sender, EventArgs e)
        {
            // 获取toolStripComboBoxTuCeng控件中当前选中项的文本,并转换为字符串类型,赋值给layerName变量  
            string layerName = toolStripComboBoxTuCeng.SelectedItem.ToString();

            // 声明一个ILayer类型的变量pLayer,并初始化为null  
            ILayer pLayer = null;

            // 获取axMapControl1控件中的地图对象,赋值给pMap变量  
            IMap pMap = axMapControl1.Map;

            // 使用for循环遍历地图中的所有图层  
            for (int i = 0; i < pMap.LayerCount; i++)
            {
                // 如果当前图层的名称与layerName相等  
                if (layerName == pMap.get_Layer(i).Name)
                {
                    // 将当前图层赋值给pLayer变量  
                    pLayer = pMap.get_Layer(i);
                    // 找到匹配的图层后跳出循环  
                    break;
                }
            }

            // 判断pLayer是否不为null,即是否找到了对应的图层  
            if (pLayer != null)
            {
                // 获取axMapControl1控件的当前活动视图,赋值给pActiveView变量  
                IActiveView pActiveView = axMapControl1.ActiveView;

                // 将地图的视图范围设置为找到的图层的感兴趣区域(AreaOfInterest)  
                pActiveView.Extent = pLayer.AreaOfInterest;

                // 刷新地图视图,以显示新的视图范围  
                pActiveView.Refresh();
            }
        }
        #endregion

        #region 菜单-GIS分析-识别地理要素
        private void 识别地理要素ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            flagOnMouseMove = "ShiBie";
            flagOnMouseDown = "ShiBie";
        }
        #endregion

        #region 菜单-GIS分析-统计数据
        private void 统计数据ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmStatistics pStatistics = new frmStatistics(axMapControl1.ActiveView);
            pStatistics.Show();
        }
        #endregion

        #region 地图控件-OnMouseDown事件
        private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
        {
            // 根据flagOnMouseDown的值进行不同的操作
            // 在C#中,switch表达式(从C# 7.0开始)支持字符串类型。
            switch (flagOnMouseDown)
            {
                #region OnMouseDown-拉框放大
                case "LaKuangFangDa": // 如果flagOnMouseDown的值为"LaKuangFangDa"
                    {
                        // 声明一个ESRI.ArcGIS.Geometry.IEnvelope类型的变量pEnvelope,用于存储绘制的矩形范围
                        ESRI.ArcGIS.Geometry.IEnvelope pEnvelope;
                        // 调用axMapControl1的TrackRectangle方法,让用户通过鼠标绘制一个矩形,并将结果赋值给pEnvelope
                        pEnvelope = axMapControl1.TrackRectangle();
                        // 判断绘制的矩形范围是否为空。如果为空,则显示一个消息框,提示用户“所选为空”
                        if (pEnvelope.IsEmpty)
                        {
                            MessageBox.Show("所选为空", "提示信息");
                        }
                        else
                        {
                            // 如果矩形范围不为空,则将axMapControl1的Extent属性设置为pEnvelope,即设置地图的当前显示范围为绘制的矩形范围
                            axMapControl1.Extent = pEnvelope;
                            // 刷新axMapControl1的ActiveView,使地图的显示更新为新的范围  
                            axMapControl1.ActiveView.Refresh();
                        }
                    }
                    break; // 跳出switch语句  
                #endregion

                #region OnMouseDown-拉框缩小
                case "LaKuangSuoXiao":
                    {
                        // 将axMapControl1的Object属性转换为IMapControlDefault接口类型的实例,并赋值给pMapControl变量  
                        IMapControlDefault pMapControl = axMapControl1.Object as IMapControlDefault;
                        // 调用IEnvelope的TrackRectangle方法,该方法会等待用户通过鼠标在地图上绘制一个矩形,然后返回这个矩形的范围(Envelope)  
                        IEnvelope pEnvelope = axMapControl1.TrackRectangle();
                        // 检查返回的Envelope是否为空,或者其宽度和高度是否为0,如果是,则直接退出方法  
                        if (pEnvelope == null || pEnvelope.IsEmpty || pEnvelope.Height == 0 || pEnvelope.Width == 0)
                        {
                            return;
                        }
                        // 如果有有效的拉框范围,则执行以下操作  
                        else
                        {
                            // 将当前视图范围宽或高基于比例平方的缩放算法进行缩放
                            double dWidth = pMapControl.Extent.Width * pMapControl.Extent.Width / pEnvelope.Width;
                            double dHeight = pMapControl.Extent.Height * pMapControl.Extent.Height / pEnvelope.Height;
                            // 根据拉框的位置和当前视图范围计算新的最小X和Y坐标  
                            double dXmin = pMapControl.Extent.XMin -
                                            ((pEnvelope.XMin - pMapControl.Extent.XMin) * pMapControl.Extent.Width /
                                             pEnvelope.Width);
                            double dYmin = pMapControl.Extent.YMin -
                                            ((pEnvelope.YMin - pMapControl.Extent.YMin) * pMapControl.Extent.Height /
                                             pEnvelope.Height);
                            // 根据新的最小坐标和计算出的宽度和高度,计算新的最大X和Y坐标  
                            double dXmax = dXmin + dWidth;
                            double dYmax = dYmin + dHeight;
                            // 使用新的坐标设置Envelope的范围  
                            pEnvelope.PutCoords(dXmin, dYmin, dXmax, dYmax);
                        }
                        // 将更新后的Envelope范围设置为地图控件的当前显示范围  
                        pMapControl.Extent = pEnvelope;
                        // 刷新地图控件的视图,以显示更新后的范围  
                        pMapControl.Refresh();
                    }
                    break;
                #endregion

                #region OnMouseDown-漫游
                case "ManYou":  // 当flagOnMouseDown的值为"ManYou"时
                    {
                        // 调用axMapControl1的Pan方法,开始平移操作  
                        // Pan方法通常用于让用户通过拖动鼠标来平移地图视图 
                        axMapControl1.Pan();
                    }
                    break; // 跳出switch语句
                #endregion

                #region OnMouseDown-识别
                case "ShiBie":
                    {
                        IPoint pPoint = axMapControl1.ToMapPoint(e.x, e.y);
                        IActiveView pActiveView = axMapControl1.ActiveView;
                        frmIdentify pIdentify = new frmIdentify(pActiveView, pPoint);
                        pIdentify.Show();
                    }
                    break;
                #endregion
            }
        }
        #endregion

        #region 地图控件-OnMouseMove事件
        private void axMapControl1_OnMouseMove(object sender, IMapControlEvents2_OnMouseMoveEvent e)
        {
            switch (flagOnMouseMove)
            {
                #region OnMouseMove-识别地理要素
                case "ShiBie":
                    {
                        // 由axMapControl1控件的对象实现IMapControlDefault接口  
                        IMapControlDefault pMapControlDefault = axMapControl1.Object as IMapControlDefault;

                        // 设置pMapControlDefault的鼠标指针样式为识别贯标样式  
                        pMapControlDefault.MousePointer = esriControlsMousePointer.esriPointerIdentify;
                    }
                    break;
                #endregion
            }
        }
        #endregion

        #region 目录树控件-上下文菜单条-查看属性表
        private void 查看属性表ToolStripMenuItem_Click(object sender, EventArgs e)
        {

            // 获取当前ArcMap控件中处于活动视图且为焦点的地图对象  
            // axMapControl1 可能是ArcMap控件的实例  
            // ActiveView 获取当前活动的视图  
            IActiveView pActiveView = axMapControl1.ActiveView;

            // 创建一个新的frmDataBoard窗体实例,并将当前活动的视图pActiveView作为参数传入  
            // frmDataBoard 可能是自定义的窗体,用于展示或操作地图图层数据  
            frmDataBoard dataBoard = new frmDataBoard(pActiveView);

            // 显示frmDataBoard窗体  
            // Show 方法将窗体显示出来  
            dataBoard.Show();
        }
        #endregion

        #region 目录树控件-OnMouseDown事件
        private void axTOCControl1_OnMouseDown(object sender, ITOCControlEvents_OnMouseDownEvent e)
        {
            if (e.button == 2)
            {
                axTOCControl1.HitTest(e.x, e.y, ref item, ref basicMap, ref layer, ref other, ref index);
                if (layer != null)
                {
                    cmsTOCYouJian.Show(axTOCControl1, new System.Drawing.Point(e.x, e.y));
                }
            }
        }

        private void miSuoFangZhiTuCeng_Click(object sender, EventArgs e)
        {
            IActiveView pActiveView = axMapControl1.ActiveView;
            pActiveView.Extent = layer.AreaOfInterest;
            pActiveView.Refresh();
        }
        #endregion
    }
}


               

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值