zoule 9 months ago
parent
commit
0a62183544

+ 27 - 14
XdCxRhDW.App/MainForm.Designer.cs

@@ -28,10 +28,11 @@
         /// </summary>
         /// </summary>
         private void InitializeComponent()
         private void InitializeComponent()
         {
         {
+            this.components = new System.ComponentModel.Container();
             this.components = new System.ComponentModel.Container();
             this.components = new System.ComponentModel.Container();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
-            DevExpress.Utils.SuperToolTip superToolTip4 = new DevExpress.Utils.SuperToolTip();
-            DevExpress.Utils.ToolTipItem toolTipItem4 = new DevExpress.Utils.ToolTipItem();
+            DevExpress.Utils.SuperToolTip superToolTip2 = new DevExpress.Utils.SuperToolTip();
+            DevExpress.Utils.ToolTipItem toolTipItem2 = new DevExpress.Utils.ToolTipItem();
             this.ribbon = new DevExpress.XtraBars.Ribbon.RibbonControl();
             this.ribbon = new DevExpress.XtraBars.Ribbon.RibbonControl();
             this.skinPaletteDropDownButtonItem1 = new DevExpress.XtraBars.SkinPaletteDropDownButtonItem();
             this.skinPaletteDropDownButtonItem1 = new DevExpress.XtraBars.SkinPaletteDropDownButtonItem();
             this.btnOpenApi = new DevExpress.XtraBars.BarButtonItem();
             this.btnOpenApi = new DevExpress.XtraBars.BarButtonItem();
@@ -49,6 +50,7 @@
             this.btnSignal = new DevExpress.XtraBars.BarButtonItem();
             this.btnSignal = new DevExpress.XtraBars.BarButtonItem();
             this.txtSvrLog = new DevExpress.XtraBars.BarButtonItem();
             this.txtSvrLog = new DevExpress.XtraBars.BarButtonItem();
             this.btnSignalEmulation = new DevExpress.XtraBars.BarButtonItem();
             this.btnSignalEmulation = new DevExpress.XtraBars.BarButtonItem();
+            this.btnFixedStation = new DevExpress.XtraBars.BarButtonItem();
             this.ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage();
             this.ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage();
             this.ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
             this.ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
             this.ribbonPageGroup2 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
             this.ribbonPageGroup2 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
@@ -58,7 +60,7 @@
             this.documentManager1 = new DevExpress.XtraBars.Docking2010.DocumentManager(this.components);
             this.documentManager1 = new DevExpress.XtraBars.Docking2010.DocumentManager(this.components);
             this.tabbedView1 = new DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(this.components);
             this.tabbedView1 = new DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(this.components);
             this.dockManager1 = new DevExpress.XtraBars.Docking.DockManager(this.components);
             this.dockManager1 = new DevExpress.XtraBars.Docking.DockManager(this.components);
-            this.btnFixedStation = new DevExpress.XtraBars.BarButtonItem();
+            this.btnDraw = new DevExpress.XtraBars.BarButtonItem();
             ((System.ComponentModel.ISupportInitialize)(this.ribbon)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.ribbon)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.documentManager1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.documentManager1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.tabbedView1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.tabbedView1)).BeginInit();
@@ -89,9 +91,10 @@
             this.btnSignal,
             this.btnSignal,
             this.txtSvrLog,
             this.txtSvrLog,
             this.btnSignalEmulation,
             this.btnSignalEmulation,
-            this.btnFixedStation});
+            this.btnFixedStation,
+            this.btnDraw});
             this.ribbon.Location = new System.Drawing.Point(0, 0);
             this.ribbon.Location = new System.Drawing.Point(0, 0);
-            this.ribbon.MaxItemId = 31;
+            this.ribbon.MaxItemId = 32;
             this.ribbon.Name = "ribbon";
             this.ribbon.Name = "ribbon";
             this.ribbon.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] {
             this.ribbon.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] {
             this.ribbonPage1});
             this.ribbonPage1});
@@ -118,9 +121,9 @@
             this.btnOpenApi.Id = 21;
             this.btnOpenApi.Id = 21;
             this.btnOpenApi.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnOpenApi.ImageOptions.SvgImage")));
             this.btnOpenApi.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnOpenApi.ImageOptions.SvgImage")));
             this.btnOpenApi.Name = "btnOpenApi";
             this.btnOpenApi.Name = "btnOpenApi";
-            toolTipItem4.Text = "查看接口文档";
-            superToolTip4.Items.Add(toolTipItem4);
-            this.btnOpenApi.SuperTip = superToolTip4;
+            toolTipItem2.Text = "查看接口文档";
+            superToolTip2.Items.Add(toolTipItem2);
+            this.btnOpenApi.SuperTip = superToolTip2;
             this.btnOpenApi.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btnOpenApi_ItemClick);
             this.btnOpenApi.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btnOpenApi_ItemClick);
             // 
             // 
             // btnTask
             // btnTask
@@ -237,6 +240,14 @@
             this.btnSignalEmulation.Name = "btnSignalEmulation";
             this.btnSignalEmulation.Name = "btnSignalEmulation";
             this.btnSignalEmulation.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
             this.btnSignalEmulation.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
             // 
             // 
+            // btnFixedStation
+            // 
+            this.btnFixedStation.Caption = "固定站管理";
+            this.btnFixedStation.Id = 30;
+            this.btnFixedStation.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnFixedStation.ImageOptions.SvgImage")));
+            this.btnFixedStation.Name = "btnFixedStation";
+            this.btnFixedStation.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            // 
             // ribbonPage1
             // ribbonPage1
             // 
             // 
             this.ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] {
             this.ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] {
@@ -251,6 +262,7 @@
             // 
             // 
             this.ribbonPageGroup1.ItemLinks.Add(this.btnTask);
             this.ribbonPageGroup1.ItemLinks.Add(this.btnTask);
             this.ribbonPageGroup1.ItemLinks.Add(this.btnCg, true);
             this.ribbonPageGroup1.ItemLinks.Add(this.btnCg, true);
+            this.ribbonPageGroup1.ItemLinks.Add(this.btnDraw);
             this.ribbonPageGroup1.Name = "ribbonPageGroup1";
             this.ribbonPageGroup1.Name = "ribbonPageGroup1";
             this.ribbonPageGroup1.Text = "主功能区";
             this.ribbonPageGroup1.Text = "主功能区";
             // 
             // 
@@ -317,13 +329,13 @@
             "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl",
             "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl",
             "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl"});
             "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl"});
             // 
             // 
-            // btnFixedStation
+            // btnDraw
             // 
             // 
-            this.btnFixedStation.Caption = "固定站管理";
-            this.btnFixedStation.Id = 30;
-            this.btnFixedStation.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnFixedStation.ImageOptions.SvgImage")));
-            this.btnFixedStation.Name = "btnFixedStation";
-            this.btnFixedStation.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            this.btnDraw.Caption = "绘图管理";
+            this.btnDraw.Id = 31;
+            this.btnDraw.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barButtonItem2.ImageOptions.SvgImage")));
+            this.btnDraw.Name = "btnDraw";
+            this.btnDraw.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
             // 
             // 
             // MainForm
             // MainForm
             // 
             // 
@@ -375,5 +387,6 @@
         private DevExpress.XtraBars.BarButtonItem txtSvrLog;
         private DevExpress.XtraBars.BarButtonItem txtSvrLog;
         private DevExpress.XtraBars.BarButtonItem btnSignalEmulation;
         private DevExpress.XtraBars.BarButtonItem btnSignalEmulation;
         private DevExpress.XtraBars.BarButtonItem btnFixedStation;
         private DevExpress.XtraBars.BarButtonItem btnFixedStation;
+        private DevExpress.XtraBars.BarButtonItem btnDraw;
     }
     }
 }
 }

+ 1 - 0
XdCxRhDW.App/MainForm.cs

@@ -51,6 +51,7 @@ namespace XdCxRhDW
             tabbedView1.UseDefault();
             tabbedView1.UseDefault();
             ctrlTypes.Add("任务管理", typeof(CtrlHome));
             ctrlTypes.Add("任务管理", typeof(CtrlHome));
             ctrlTypes.Add("参估结果", typeof(CtrlCgRes));
             ctrlTypes.Add("参估结果", typeof(CtrlCgRes));
+            ctrlTypes.Add("绘图管理", typeof(CtrlDraw));
             ctrlTypes.Add("星历管理", typeof(CtrlXl));
             ctrlTypes.Add("星历管理", typeof(CtrlXl));
             ctrlTypes.Add("卫星管理", typeof(CtrlSat));
             ctrlTypes.Add("卫星管理", typeof(CtrlSat));
             ctrlTypes.Add("天线管理", typeof(CtrlTx));
             ctrlTypes.Add("天线管理", typeof(CtrlTx));

+ 54 - 17
XdCxRhDW.App/MainForm.resx

@@ -591,23 +591,17 @@
     <value>
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALUDAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLlll
-        bGxvd3tmaWxsOiNGRkIxMTU7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
-        MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
-        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMzU7fQoJLnN0M3tv
-        cGFjaXR5OjAuNjU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iU3dpZnRQbG90Ij4NCiAgICA8cG9seWdvbiBw
-        b2ludHM9IjMwLDQgMzAsOCAyOCw4IDI4LDExIDI2LDExIDI2LDYgMjQsNiAyNCwyIDIyLDIgMjIsOCAy
-        MCw4IDIwLDE0IDE4LDE0IDE4LDEyIDE2LDEyIDE2LDE2IDE0LDE2ICAgIDE0LDIyIDEyLDIyIDEyLDE4
-        IDEwLDE4IDEwLDE0IDgsMTQgOCwyMCA2LDIwIDYsMTYgNCwxNiA0LDEyIDIsMTIgMiwxNiAwLDE2IDAs
-        MjIgMiwyMiAyLDE4IDQsMTggNCwyMiA2LDIyIDYsMjQgOCwyNCA4LDIyIDEwLDIyICAgIDEwLDI0IDEy
-        LDI0IDEyLDI4IDE0LDI4IDE0LDI0IDE2LDI0IDE2LDE4IDE4LDE4IDE4LDIwIDIwLDIwIDIwLDE2IDIy
-        LDE2IDIyLDEwIDI0LDEwIDI0LDE0IDI2LDE0IDI2LDE4IDI4LDE4IDI4LDE0IDMwLDE0IDMwLDEwICAg
-        IDMyLDEwIDMyLDQgICIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCjwvc3ZnPgs=
+        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAACACAAAC77u/
+        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDMy
+        IDMyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJMYXllcl80Ij4NCiAgPGRl
+        ZnM+DQogICAgPHN0eWxlPi5CbHVle2ZpbGw6IzExNzdkNzt9LlJlZHtmaWxsOiNkMTFjMWM7fTwvc3R5
+        bGU+DQogIDwvZGVmcz4NCiAgPHBhdGggZD0iTTgsNkg2VjRIOFpNOCwySDZWMEg4Wk04LDI0djRoMnYy
+        SDRWMjhINlYyNEgxYTEsMSwwLDAsMS0xLTFWMTdhMSwxLDAsMCwxLDEtMUg2VjEwSDRWOGg2djJIOHY2
+        aDVhMSwxLDAsMCwxLDEsMXY2YTEsMSwwLDAsMS0xLDFabTQtMlYxOEgydjRaIiBjbGFzcz0iQmx1ZSIg
+        Lz4NCiAgPHBhdGggZD0iTTMyLDIxVjlhMSwxLDAsMCwwLTEtMUgyNlYyaDJWMEgyMlYyaDJWOEgxOWEx
+        LDEsMCwwLDAtMSwxVjIxYTEsMSwwLDAsMCwxLDFoNXY0SDIydjJoNlYyNkgyNlYyMmg1QTEsMSwwLDAs
+        MCwzMiwyMVpNMjAsMjBWMTBIMzBWMjBabTQsMTBoMnYySDI0WiIgY2xhc3M9IlJlZCIgLz4NCjwvc3Zn
+        Pgs=
 </value>
 </value>
   </data>
   </data>
   <data name="btnFixedStation.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
   <data name="btnFixedStation.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -629,6 +623,49 @@
         Yy0xLjcsMC0zLDEuMy0zLDN2M2gtMWMtMC42LDAtMSwwLjQtMSwxdjZjMCwwLjYsMC40LDEsMSwxaDEw
         Yy0xLjcsMC0zLDEuMy0zLDN2M2gtMWMtMC42LDAtMSwwLjQtMSwxdjZjMCwwLjYsMC40LDEsMSwxaDEw
         YzAuNiwwLDEtMC40LDEtMSAgVjdDMjIsNi40LDIxLjYsNiwyMSw2eiBNMTQsM2MwLTAuNiwwLjQtMSwx
         YzAuNiwwLDEtMC40LDEtMSAgVjdDMjIsNi40LDIxLjYsNiwyMSw2eiBNMTQsM2MwLTAuNiwwLjQtMSwx
         LTFoMmMwLjYsMCwxLDAuNCwxLDF2M2gtNFYzeiIgY2xhc3M9IkJsYWNrIiAvPg0KPC9zdmc+Cw==
         LTFoMmMwLjYsMCwxLDAuNCwxLDF2M2gtNFYzeiIgY2xhc3M9IkJsYWNrIiAvPg0KPC9zdmc+Cw==
+</value>
+  </data>
+  <data name="barButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
+        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAE4IAAAC77u/
+        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLlll
+        bGxvd3tmaWxsOiNGRkIxMTU7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
+        MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMzU7fQoJLnN0M3tv
+        cGFjaXR5OjAuNjU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iTGluZSI+DQogICAgPHBhdGggZD0iTTI5LDEw
+        Yy0xLjcsMC0zLDEuMy0zLDNjMCwwLjUsMC4xLDAuOSwwLjMsMS4zbC0xMCwxMEMxNS45LDI0LjEsMTUu
+        NSwyNCwxNSwyNGMtMC42LDAtMS4xLDAuMi0xLjUsMC40ICAgTDUuOCwxOEM1LjksMTcuNyw2LDE3LjQs
+        NiwxN2MwLTEuNy0xLjMtMy0zLTNzLTMsMS4zLTMsM3MxLjMsMywzLDNjMC42LDAsMS4xLTAuMiwxLjUt
+        MC40bDcuNyw2LjRjLTAuMSwwLjMtMC4yLDAuNy0wLjIsMSAgIGMwLDEuNywxLjMsMywzLDNzMy0xLjMs
+        My0zYzAtMC41LTAuMS0wLjktMC4zLTEuM2wxMC0xMGMwLjQsMC4yLDAuOCwwLjMsMS4zLDAuM2MxLjcs
+        MCwzLTEuMywzLTNTMzAuNywxMCwyOSwxMHogTTMsMTggICBjLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwx
+        LTFzMSwwLjQsMSwxUzMuNiwxOCwzLDE4eiBNMTUsMjhjLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFz
+        MSwwLjQsMSwxUzE1LjYsMjgsMTUsMjh6IE0yOSwxNCAgIGMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEt
+        MXMxLDAuNCwxLDFTMjkuNiwxNCwyOSwxNHoiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGggZD0i
+        TTI5LDIwYy0xLDAtMS45LDAuNS0yLjQsMS4zTDE4LDE4LjhjLTAuMS0xLjYtMS40LTIuOC0zLTIuOGMt
+        MS43LDAtMywxLjMtMywzYzAsMC40LDAuMSwwLjcsMC4yLDFsLTcuNyw2LjQgICBDNC4xLDI2LjIsMy42
+        LDI2LDMsMjZjLTEuNywwLTMsMS4zLTMsM3MxLjMsMywzLDNzMy0xLjMsMy0zYzAtMC40LTAuMS0wLjct
+        MC4yLTFsNy43LTYuNGMwLjQsMC4zLDEsMC40LDEuNSwwLjQgICBjMSwwLDEuOS0wLjUsMi40LTEuM2w4
+        LjYsMi41YzAuMSwxLjYsMS40LDIuOCwzLDIuOGMxLjcsMCwzLTEuMywzLTNTMzAuNywyMCwyOSwyMHog
+        TTMsMzBjLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFzMSwwLjQsMSwxICAgUzMuNiwzMCwzLDMweiBN
+        MTUsMjBjLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFzMSwwLjQsMSwxUzE1LjYsMjAsMTUsMjB6IE0y
+        OSwyNGMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMXMxLDAuNCwxLDEgICBTMjkuNiwyNCwyOSwyNHoi
+        IGNsYXNzPSJCbHVlIiAvPg0KICAgIDxwYXRoIGQ9Ik0yOSwwYy0xLjcsMC0zLDEuMy0zLDNjMCwwLjIs
+        MCwwLjQsMC4xLDAuNWwtOS4yLDUuMkMxNi40LDguMywxNS43LDgsMTUsOGMtMC44LDAtMS41LDAuMy0y
+        LjEsMC44TDYsNS40ICAgQzYsNS4yLDYsNS4xLDYsNWMwLTEuNy0xLjMtMy0zLTNTMCwzLjMsMCw1czEu
+        MywzLDMsM2MwLjgsMCwxLjUtMC4zLDIuMS0wLjhsNi45LDMuNWMwLDAuMSwwLDAuMiwwLDAuM2MwLDEu
+        NywxLjMsMywzLDNzMy0xLjMsMy0zICAgYzAtMC4xLDAtMC4zLDAtMC40bDkuMS01LjJDMjcuNiw1Ljcs
+        MjguMyw2LDI5LDZjMS43LDAsMy0xLjMsMy0zUzMwLjcsMCwyOSwweiBNMyw2QzIuNCw2LDIsNS42LDIs
+        NXMwLjQtMSwxLTFjMC42LDAsMSwwLjQsMSwxICAgUzMuNiw2LDMsNnogTTE1LDEyYy0wLjYsMC0xLTAu
+        NC0xLTFzMC40LTEsMS0xYzAuNiwwLDEsMC40LDEsMVMxNS42LDEyLDE1LDEyeiBNMjksNGMtMC42LDAt
+        MS0wLjQtMS0xczAuNC0xLDEtMWMwLjYsMCwxLDAuNCwxLDEgICBTMjkuNiw0LDI5LDR6IiBjbGFzcz0i
+        UmVkIiAvPg0KICA8L2c+DQo8L3N2Zz4L
 </value>
 </value>
   </data>
   </data>
   <data name="btnTarget.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
   <data name="btnTarget.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">

+ 82 - 0
XdCxRhDW.App/UserControl/CtrlDraw.Designer.cs

@@ -0,0 +1,82 @@
+namespace XdCxRhDW.App.UserControl
+{
+    partial class CtrlDraw
+    {
+        /// <summary> 
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary> 
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Component Designer generated code
+
+        /// <summary> 
+        /// Required method for Designer support - do not modify 
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            DevExpress.XtraCharts.XYDiagram xyDiagram1 = new DevExpress.XtraCharts.XYDiagram();
+            DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series();
+            DevExpress.XtraCharts.PointSeriesView pointSeriesView1 = new DevExpress.XtraCharts.PointSeriesView();
+            this.chartControl1 = new DevExpress.XtraCharts.ChartControl();
+            ((System.ComponentModel.ISupportInitialize)(this.chartControl1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(xyDiagram1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(series1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(pointSeriesView1)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // chartControl1
+            // 
+            xyDiagram1.AxisX.VisibleInPanesSerializable = "-1";
+            xyDiagram1.AxisY.VisibleInPanesSerializable = "-1";
+            this.chartControl1.Diagram = xyDiagram1;
+            this.chartControl1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.chartControl1.Legend.AlignmentHorizontal = DevExpress.XtraCharts.LegendAlignmentHorizontal.Left;
+            this.chartControl1.Legend.AlignmentVertical = DevExpress.XtraCharts.LegendAlignmentVertical.TopOutside;
+            this.chartControl1.Legend.LegendID = -1;
+            this.chartControl1.Legend.MarkerMode = DevExpress.XtraCharts.LegendMarkerMode.CheckBoxAndMarker;
+            this.chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
+            this.chartControl1.Location = new System.Drawing.Point(0, 0);
+            this.chartControl1.Name = "chartControl1";
+            series1.Name = "Series 1";
+            series1.SeriesID = 0;
+            series1.View = pointSeriesView1;
+            this.chartControl1.SeriesSerializable = new DevExpress.XtraCharts.Series[] {
+        series1};
+            this.chartControl1.Size = new System.Drawing.Size(1041, 434);
+            this.chartControl1.TabIndex = 0;
+            // 
+            // CtrlDraw
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.Controls.Add(this.chartControl1);
+            this.Name = "CtrlDraw";
+            this.Size = new System.Drawing.Size(1041, 434);
+            this.Load += new System.EventHandler(this.CtrlDraw_Load);
+            ((System.ComponentModel.ISupportInitialize)(xyDiagram1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(pointSeriesView1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(series1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.chartControl1)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private DevExpress.XtraCharts.ChartControl chartControl1;
+    }
+}

+ 61 - 0
XdCxRhDW.App/UserControl/CtrlDraw.cs

@@ -0,0 +1,61 @@
+using DevExpress.Charts.Native;
+using DevExpress.XtraCharts;
+using DevExpress.XtraEditors;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Diagnostics;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using XdCxRhDW.Dto;
+
+namespace XdCxRhDW.App.UserControl
+{
+    public partial class CtrlDraw : DevExpress.XtraEditors.XtraUserControl
+    {
+        public CtrlDraw()
+        {
+            InitializeComponent();
+        }
+
+        private void CtrlDraw_Load(object sender, EventArgs e)
+        {
+            chartControl1.Legend.AlignmentVertical = LegendAlignmentVertical.Top;//图例位置
+            XYDiagram diagram = (XYDiagram)chartControl1.Diagram;
+            //diagram.AxisX.Label.Staggered = true;//X轴坐标交错排列
+            diagram.AxisX.Label.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;//抗锯齿
+            diagram.AxisY.Label.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;//抗锯齿
+            diagram.AxisY.Label.TextPattern = "{V:f3}us";
+            diagram.AxisX.WholeRange.AutoSideMargins = true;//是否从X轴原点开始显示
+
+            DrawDto dto = new DrawDto()
+            {
+                ImageName = "时差趋势图20240910120000",
+                //MaxX = 1024,
+                //MaxY = 10000,
+                PointX = new object[5000],
+                PointY = new double[5000],
+            };
+            Random r = new Random();
+            Stopwatch sw = new Stopwatch();
+            sw.Start();
+            SeriesPoint[] sps = new SeriesPoint[5000];
+            for (int i = 0; i < 5000; i++)
+            {
+                sps[i] = new SeriesPoint();
+                dto.PointX[i] = (double)r.Next(10, 10000);
+                dto.PointY[i] = r.Next(1000, 9000);
+                sps[i].NumericalArgument = (double)dto.PointX[i];
+                sps[i].Values = new double[1] { dto.PointY[i] };
+            }
+            chartControl1.Series[0].Points.AddRange(sps);
+            sw.Stop();
+            var dd = sw.ElapsedMilliseconds;
+
+        }
+    }
+}

+ 120 - 0
XdCxRhDW.App/UserControl/CtrlDraw.resx

@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>

+ 10 - 0
XdCxRhDW.App/XdCxRhDW.App.csproj

@@ -334,6 +334,12 @@
     <Compile Include="Model\ModelCgXgf.cs" />
     <Compile Include="Model\ModelCgXgf.cs" />
     <Compile Include="Model\RePosRes.cs" />
     <Compile Include="Model\RePosRes.cs" />
     <Compile Include="CpuMonitor.cs" />
     <Compile Include="CpuMonitor.cs" />
+    <Compile Include="UserControl\CtrlDraw.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="UserControl\CtrlDraw.Designer.cs">
+      <DependentUpon>CtrlDraw.cs</DependentUpon>
+    </Compile>
     <Compile Include="UserControl\UcCtrlPage.cs">
     <Compile Include="UserControl\UcCtrlPage.cs">
       <SubType>UserControl</SubType>
       <SubType>UserControl</SubType>
     </Compile>
     </Compile>
@@ -564,6 +570,7 @@
     <EmbeddedResource Include="PopupControl\ShowCxCtrl.resx">
     <EmbeddedResource Include="PopupControl\ShowCxCtrl.resx">
       <DependentUpon>ShowCxCtrl.cs</DependentUpon>
       <DependentUpon>ShowCxCtrl.cs</DependentUpon>
     </EmbeddedResource>
     </EmbeddedResource>
+    <EmbeddedResource Include="Properties\licenses.licx" />
     <EmbeddedResource Include="Properties\Resources.resx">
     <EmbeddedResource Include="Properties\Resources.resx">
       <Generator>ResXFileCodeGenerator</Generator>
       <Generator>ResXFileCodeGenerator</Generator>
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
@@ -578,6 +585,9 @@
       <DependentUpon>CtrlCgRes.cs</DependentUpon>
       <DependentUpon>CtrlCgRes.cs</DependentUpon>
       <SubType>Designer</SubType>
       <SubType>Designer</SubType>
     </EmbeddedResource>
     </EmbeddedResource>
+    <EmbeddedResource Include="UserControl\CtrlDraw.resx">
+      <DependentUpon>CtrlDraw.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="UserControl\CtrlHome.resx">
     <EmbeddedResource Include="UserControl\CtrlHome.resx">
       <DependentUpon>CtrlHome.cs</DependentUpon>
       <DependentUpon>CtrlHome.cs</DependentUpon>
     </EmbeddedResource>
     </EmbeddedResource>

+ 1 - 0
XdCxRhDw.Dto/02.XdCxRhDW.Dto.csproj

@@ -57,6 +57,7 @@
     <Compile Include="CafResultDto.cs" />
     <Compile Include="CafResultDto.cs" />
     <Compile Include="CgResDto.cs" />
     <Compile Include="CgResDto.cs" />
     <Compile Include="CpuCgMultiDto.cs" />
     <Compile Include="CpuCgMultiDto.cs" />
+    <Compile Include="DrawDto.cs" />
     <Compile Include="ImageResultDto.cs" />
     <Compile Include="ImageResultDto.cs" />
     <Compile Include="CgResQueryDto.cs" />
     <Compile Include="CgResQueryDto.cs" />
     <Compile Include="LogInfoDto.cs" />
     <Compile Include="LogInfoDto.cs" />

+ 60 - 0
XdCxRhDw.Dto/DrawDto.cs

@@ -0,0 +1,60 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XdCxRhDW.Dto
+{
+    /// <summary>
+    /// 绘图模型
+    /// </summary>
+    public class DrawDto
+    {
+        /// <summary>
+        /// 图片名称(最好带上绘制的时间,避免重复)
+        /// </summary>
+        public string ImageName { get; set; }
+
+        /// <summary>
+        /// 坐标系X的所有值
+        /// </summary>
+        public object[] PointX { get; set; }
+
+        /// <summary>
+        /// X轴值类型
+        /// </summary>
+        public DrawXType XType { get; set; }
+
+        /// <summary>
+        /// 坐标系Y的所有值
+        /// </summary>
+        public double[] PointY { get; set; }
+    }
+
+    /// <summary>
+    /// 绘图X轴类型
+    /// </summary>
+    public enum DrawXType
+    {
+        /// <summary>
+        /// 数字类型
+        /// </summary>
+        [Display(Name = "数字类型")]
+        Number,
+
+        /// <summary>
+        /// 时间类型
+        /// </summary>
+        [Display(Name = "时间类型")]
+        DateTime,
+
+        /// <summary>
+        /// 字符串类型
+        /// </summary>
+        [Display(Name = "字符串类型")]
+        String,
+    }
+
+}

+ 8 - 8
XdCxRhDw.Dto/DtoEnum.cs

@@ -13,49 +13,49 @@ namespace XdCxRhDW.Dto
     public enum EnumPosResTypeDto
     public enum EnumPosResTypeDto
     {
     {
         /// <summary>
         /// <summary>
-        /// 
+        /// 一星一地带参
         /// </summary>
         /// </summary>
         [Display(Name = "一星一地带参")]
         [Display(Name = "一星一地带参")]
         X1D1CX,
         X1D1CX,
 
 
         /// <summary>
         /// <summary>
-        /// 
+        /// 两星一地带参
         /// </summary>
         /// </summary>
         [Display(Name = "两星一地带参")]
         [Display(Name = "两星一地带参")]
         X2D1,
         X2D1,
 
 
         /// <summary>
         /// <summary>
-        /// 
+        /// 两星一地无参
         /// </summary>
         /// </summary>
         [Display(Name = "两星一地无参")]
         [Display(Name = "两星一地无参")]
         X2D1NoRef,
         X2D1NoRef,
 
 
         /// <summary>
         /// <summary>
-        /// 
+        /// 融合定位
         /// </summary>
         /// </summary>
         [Display(Name = "融合定位")]//仅支持带参
         [Display(Name = "融合定位")]//仅支持带参
         RH,
         RH,
 
 
         /// <summary>
         /// <summary>
-        /// 
+        /// 三星双时差带参
         /// </summary>
         /// </summary>
         [Display(Name = "三星双时差带参")]
         [Display(Name = "三星双时差带参")]
         X3,
         X3,
 
 
         /// <summary>
         /// <summary>
-        /// 
+        /// 三星双时差无参
         /// </summary>
         /// </summary>
         [Display(Name = "三星双时差无参")]
         [Display(Name = "三星双时差无参")]
         X3NoRef,
         X3NoRef,
 
 
         /// <summary>
         /// <summary>
-        /// 
+        /// 三星双频差带参
         /// </summary>
         /// </summary>
         [Display(Name = "三星双频差带参")]
         [Display(Name = "三星双频差带参")]
         X3TwoDfo,
         X3TwoDfo,
 
 
         /// <summary>
         /// <summary>
-        /// 
+        /// 双星时频差带参
         /// </summary>
         /// </summary>
         [Display(Name = "双星时频差带参")]
         [Display(Name = "双星时频差带参")]
         X2Dfo,
         X2Dfo,