Esempio n. 1
0
        // 绘制图形完成事件
        void toolBox_CommondExecutedEvent(object sender, MapFrame.Core.Model.MessageEventArgs e)
        {
            try
            {
                var tool = MainCtrl.GlobeMapContainer.globeCtrl.mapLogic.GetToolBox();
                if (tool == null)
                {
                    return;
                }

                tool.CommondExecutedEvent -= toolBox_CommondExecutedEvent;
                tool.ReleaseTool();

                var element = e.Data as IMFElement;
                if (element == null)
                {
                    return;
                }

                graphicNames.Add(element.ElementName);
            }
            catch (Exception)
            {
            }
        }
Esempio n. 2
0
        // 框选完成
        private void toolBox_CommondExecutedEvent(object sender, MapFrame.Core.Model.MessageEventArgs e)
        {
            if (this.IsDisposed)
            {
                return;
            }
            toolBox.CommondExecutedEvent -= new EventHandler <MapFrame.Core.Model.MessageEventArgs>(toolBox_CommondExecutedEvent);

            this.Visible = true;
            SetChartVisible(true);

            if (e.ToolType != MapFrame.Core.Model.ToolTypeEnum.Select)
            {
                return;
            }
            if (e.Data == null)
            {
                return;
            }

            List <IMFElement> elements = e.Data as List <IMFElement>;

            if (elements == null || elements.Count <= 0)
            {
                string msg = "您所框选的区域没有动目标,可尝试重新框选。";
                UpdateUI(msg);
                return;
            }

            int totalNumber = elements.Count;
            int skyCount    = 0;    // 空中目标
            int seaCount    = 0;    // 海上目标
            int landCount   = 0;    // 陆地目标
            int unkonwCount = 0;    // 不明目标

            foreach (IMFElement ele in elements)
            {
                switch (ele.BelongLayer.LayerName)
                {
                case "天空态势图层":
                    skyCount++;
                    break;

                case "陆地态势图层":
                    seaCount++;
                    break;

                case "海洋态势图层":
                    landCount++;
                    break;

                case "未知目标图层":
                    unkonwCount++;
                    break;

                default:
                    break;
                }
            }

            StringBuilder sb = new StringBuilder();

            sb.AppendLine(string.Format("当前区域共有目标:{0} 个\n", totalNumber));
            sb.AppendLine(string.Format("空中目标 {0} 条\n", skyCount));
            sb.AppendLine(string.Format("海上目标 {0} 条\n", seaCount));
            sb.AppendLine(string.Format("陆地目标 {0} 条\n", landCount));
            sb.AppendLine(string.Format("不明目标 {0} 条", unkonwCount));

            UpdateUI(sb);
            UpdateChart(skyCount, seaCount, landCount, unkonwCount);
        }