示例#1
0
        /// <summary>
        /// 地图控件与TOC控件的关联操作
        /// </summary>
        /// <param name="tocCtrl">TOC控件</param>
        /// <param name="mapCtrl">地图控件</param>
        /// <param name="attributeForm">显示属性表的窗体</param>
        /// <param name="switchView">将当前标签页设为地图页面</param>
        public MapCtrlToc(AxTOCControl tocCtrl, AxMapControl mapCtrl, IAttributeForm attributeForm, Action <EViewActionType[]> switchView = null)
        {
            MapControl = mapCtrl;
            TocControl = tocCtrl;
            TocControl.SetBuddyControl(MapControl);
            TocControl.OnMouseDown += tocCtrl_OnMouseDown;
            SwitchView              = switchView;
            AttributeForm           = attributeForm;
            _attributeFormType      = AttributeForm.GetType();

            Layer2FieldsMenuItems = new Dictionary <string, ToolStripMenuItem[]>();
            InintMenuStrip();
        }
示例#2
0
 protected virtual void 打开属性表ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (SelectedLayer is IFeatureLayer featureLayer && featureLayer.FeatureClass != null)
     {
         if (AttributeForm == null || AttributeForm.IsDisposed)
         {
             AttributeForm = (IAttributeForm)Activator.CreateInstance(_attributeFormType);
         }
         AttributeForm.Show(MapControl);
         AttributeForm.Activate();//之前已打开,则给予焦点,置顶。
         AttributeForm.AttributeCtrl.LoadAttribute(featureLayer as ITable, ((IFeatureLayerDefinition)featureLayer).DefinitionExpression, LayerIndex, _attributeForm_FeatureLocation);
     }
 }
示例#3
0
        /// <summary>
        /// 地图及其图层/表格树、鹰眼图、导航工具、页面布局视图的组合控件的管理类
        /// </summary>
        /// <param name="mainMapControl">主地图控件</param>
        /// <param name="eagleMapControl">鹰眼图地图控件</param>
        /// <param name="tocControl">图层树控件</param>
        /// <param name="pageLayoutControl">页面布局控件</param>
        /// <param name="attributeForm"></param>
        /// <param name="switchView">显示指定的界面视图的操作</param>
        public MapViewerManager(AxMapControl mainMapControl, AxMapControl eagleMapControl,
                                AxTOCControl tocControl, AxPageLayoutControl pageLayoutControl, IAttributeForm attributeForm, Action <EViewActionType[]> switchView)
        {
            SwitchView        = switchView;
            MainMapControl    = mainMapControl;
            DocHelper         = new MapCtrlDocument(mainMapControl);
            TocHelper         = new MapCtrlToc(tocControl, mainMapControl, attributeForm, switchView);
            MenuHelper        = new MapCtrlMenu(mainMapControl);
            EagleMapHelper    = new MapCtrlEagleMap(mainMapControl, eagleMapControl);
            DrawElementHelper = new MapCtrlDrawElement(mainMapControl);
            PageLayoutHelper  = new MapCtrlPageLayoutSyn(mainMapControl, pageLayoutControl);

            mainMapControl.OnFullExtentUpdated += delegate { mainMapControl.Refresh(); }; //主地图:刷新地图
            ((IActiveViewEvents_Event)mainMapControl.Map).ItemAdded += item =>            //向map/PageLayout中添加数据(图层、表格等)都会触发ItemAdded事件
            {
                if (item is ILayer)
                {
                    SwitchView(new[] { EViewActionType.MainMap, EViewActionType.LayerToc });
                }
                else if (item is ITable)
                {
                    SwitchView(new[] { EViewActionType.MainMap, EViewActionType.TableList });
                }
            };
        }