zoule 6 ماه پیش
والد
کامیت
0d8d07bf5f

+ 1 - 1
DW5S.App/CorTools/XlCalculateForm.cs

@@ -35,7 +35,7 @@ namespace DW5S.App.CorTools
             var unitOfWork = IocContainer.UnitOfWork;
             var list1 = unitOfWork.Of<SatInfo>().GetAllAsync(p => p.SatCode).Result;
             var repsXl = unitOfWork.Of<XlInfo>() as XlRepository;
-            var list2 = repsXl.GetAllSat().Result;//所有卫星
+            var list2 = repsXl.GetAllSat().Result.ToList();//所有卫星
             list2.RemoveAll(p => list1.Select(t => t.SatCode).Contains(p.SatCode));
             list2.InsertRange(0, list1);
             this.txtSat.UseDefault().SetData(list2, nameof(SatInfo.Sat)).UseDoubleClickToSelectAll();

+ 20 - 29
DW5S.App/EditForms/SatEditor.cs

@@ -5,6 +5,7 @@ using ExtensionsDev;
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Threading.Tasks;
 using System.Windows.Forms;
 using XdCxRhDW5S.ViewModel;
 
@@ -12,12 +13,7 @@ namespace DW5S.App.EditForms
 {
     public partial class SatEditor : DevExpress.XtraEditors.XtraForm
     {
-        
-        
-
         public SatViewModel info;
-
-        private List<SatViewModel> infos;
         public SatEditor()
         {
             InitializeComponent();
@@ -32,49 +28,44 @@ namespace DW5S.App.EditForms
             this.Text = "编辑卫星";
             this.info = info;
         }
-        private async void SatEditor_Load(object sender, EventArgs e)
+        private void SatEditor_Load(object sender, EventArgs e)
         {
-            var unitOfWork = IocContainer.UnitOfWork;
-            var repsXl = unitOfWork.Of<XlInfo>() as XlRepository;
-            var listXl = await repsXl.GetAllSat();
-            this.searchLookUpEdit1.UseDefault().SetData(listXl.To<List<XlViewModel>>(), nameof(XlViewModel.Sat)).UseDoubleClickToSelectAll();
-            if (this.Text == "编辑卫星" && info != null)
+            this.searchLookUpEdit1.UseDefault().SetData(GetAllSat, nameof(SatViewModel.Sat)).UseDoubleClickToSelectAll();
+            if (this.info.Id > 0)
             {
                 this.txtSatName.Text = info.SatName;
                 this.txtSatLon.Text = info.SatLon?.ToString();
-                this.txtSatTrans.Text = info.SatTrans?.ToString();
-                this.searchLookUpEdit1.EditValue = info.Sat;
+                this.searchLookUpEdit1.SetEditValue<SatViewModel>(p => p.SatCode == info.SatCode);
             }
 
-            infos = new List<SatViewModel>();
-            var res = await unitOfWork.Of<SatInfo>().GetAllAsync();
-            infos.AddRange(res.To<List<SatViewModel>>());
         }
-
+        private async Task<IEnumerable<SatViewModel>> GetAllSat()
+        {
+            var unitOfWork = IocContainer.UnitOfWork;
+            var repsXl = unitOfWork.Of<XlInfo>() as XlRepository;
+            var list = await repsXl.GetAllSat();
+            return list.To<List<SatViewModel>>();
+        }
         private void btnCancel_Click(object sender, EventArgs e)
         {
             this.DialogResult = DialogResult.Cancel;
         }
-        private void btnOk_Click(object sender, EventArgs e)
+        private async void btnOk_Click(object sender, EventArgs e)
         {
-
             try
             {
-                var sat = searchLookUpEdit1.Text;
-                var idx = sat.LastIndexOf('(');
-                var satCodeStr = sat.Substring(idx + 1, sat.Length - idx - 2);
-                int satCode = Convert.ToInt32(satCodeStr);
-                if (infos.Any(i => i.Id != info.Id && i.SatCode == satCode))
+                var selectedSat = searchLookUpEdit1.EditValue as SatViewModel;
+                var unitOfWork = IocContainer.UnitOfWork;
+                var repsSat = unitOfWork.Of<SatInfo>();
+                bool existed = await repsSat.AnyAsync(p => p.Id != info.Id && p.SatCode == selectedSat.SatCode);
+                if (existed)
                 {
-
-                    DxHelper.MsgBoxHelper.ShowError($"卫星[{satCode}]已经存在!");
+                    DxHelper.MsgBoxHelper.ShowError($"卫星{selectedSat.Sat}已经存在!");
                     return;
                 }
-                info.SatCode = satCode;
+                info.SatCode = selectedSat.SatCode;
                 info.SatName = txtSatName.Text.Trim();
                 info.UpdateTime = DateTime.Now;
-                if (!string.IsNullOrWhiteSpace(txtSatTrans.Text))
-                    info.SatTrans = Math.Round(Convert.ToDouble(txtSatTrans.Text), 3);
                 if (!string.IsNullOrWhiteSpace(txtSatLon.Text))
                     info.SatLon = Math.Round(Convert.ToDouble(txtSatLon.Text), 1);
                 this.DialogResult = DialogResult.OK;

+ 30 - 30
DW5S.App/ExtensionsDev/GridControlEx.cs

@@ -402,30 +402,6 @@ public static class GridControlEx
         return grid;
     }
 
-    /// <summary>
-    /// 为GridControl启用右删除选中的一行或多行功能(自动启用UseMultiSelect)
-    /// </summary>
-    /// <typeparam name="T"></typeparam>
-    /// <param name="grid"></param>
-    /// <param name="menuCaption"></param>
-    /// <param name="action"></param>
-    /// <returns></returns>
-    public static GridControl UseDelete<T>(this GridControl grid, Func<List<T>, bool> action = null, string menuCaption = "删除")
-    {
-        grid.AddMultRowMenu<T>(menuCaption, DxHelper.SvgHelper.CreateClose(), data =>
-        {
-            if (!DxHelper.MsgBoxHelper.ShowConfirm($"确认删除选中的记录?共[{data.Count}]条")) return;
-            if (action != null)
-            {
-                bool succeed = action(data);
-                if (!succeed) return;
-            }
-            var view = grid.MainView as GridView;
-            view.RefreshData();
-
-        });
-        return grid;
-    }
 
     /// <summary>
     /// 为GridControl启用右删除选中的一行或多行功能(自动启用UseMultiSelect)
@@ -445,13 +421,34 @@ public static class GridControlEx
                 bool succeed = await action(data);
                 if (!succeed) return;
             }
+            
             var view = grid.MainView as GridView;
-            view.RefreshData();
-
+            var rows=grid.GetSelectRow<T>();
+            if (!rows.Any() || !rows[0].Equals(data[0]))
+            {
+                //Del方法刷新了数据源
+            }
+            else
+            {
+                view.DeleteSelectedRows();
+                view.RefreshData();
+            }
         });
         return grid;
     }
+    public static T[] GetSelectRow<T>(this GridControl grid)
+    {
+        var view = grid.MainView as DevExpress.XtraGrid.Views.Grid.GridView;
 
+        var selHandles = view.GetSelectedRows();
+        var results = new T[selHandles.Length];
+        for (int i = 0; i < results.Length; i++)
+        {
+            var result = (T)view.GetRow(selHandles[i]);
+            results[i] = result;
+        }
+        return results;
+    }
     /// <summary>
     /// 为GirdControl启用右键清除所有数据的功能
     /// </summary>
@@ -1020,15 +1017,18 @@ public static class GridControlEx
     /// <param name="grid"></param>
     /// <param name="condition"></param>
     /// <returns></returns>
-    public static GridControl SetColumnVisibleIndex(this GridControl grid,string fieldName, int idx)
+    public static GridControl SetColumnVisibleIndex(this GridControl grid, string fieldName, int idx)
     {
         var view = grid.MainView as GridView;
         foreach (GridColumn item in view.Columns)
         {
-            if (item.FieldName.ToUpper() == fieldName.ToUpper())
+            if (item.Visible)
             {
-                item.VisibleIndex = idx;
-                break;
+                if (item.FieldName.ToUpper() == fieldName.ToUpper())
+                {
+                    item.VisibleIndex = idx;
+                    break;
+                }
             }
         }
         return grid;

+ 27 - 1
DW5S.App/ExtensionsDev/SearchLookUpEditExtension.cs

@@ -4,6 +4,7 @@ using DevExpress.XtraEditors;
 using DevExpress.XtraEditors.Repository;
 using DevExpress.XtraGrid.Columns;
 using DevExpress.XtraGrid.Views.Grid;
+using DW5S.ViewModel;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
@@ -12,6 +13,7 @@ using System.Drawing;
 using System.Drawing.Drawing2D;
 using System.IO;
 using System.Linq;
+using System.Linq.Expressions;
 using System.Reflection;
 using System.Text;
 using System.Threading.Tasks;
@@ -88,6 +90,16 @@ namespace ExtensionsDev
         public static SearchLookUpEdit SetData<T>(this SearchLookUpEdit ctrl, Func<Task<IEnumerable<T>>> onGetDataAsync, string displayField, string valueField = "This")
         {
             ctrl.EditValue = null;
+            ctrl.EditValueChanged += async (sender, e) =>
+            {
+                if (ctrl.EditValue is T t && t != null)
+                {
+                    if (ctrl.Properties.DataSource == null)
+                    {
+                        ctrl.Properties.DataSource = await onGetDataAsync();
+                    }
+                }
+            };
             ctrl.Properties.ValueMember = valueField;
             ctrl.Properties.KeyMember = valueField;
             ctrl.Properties.DisplayMember = displayField;
@@ -97,9 +109,23 @@ namespace ExtensionsDev
             view.Tag = ctrl;
             view.OptionsView.ShowColumnHeaders = true;
             view.GridControl.UseDefault<T>(null);
-            ctrl.Properties.DataSource = onGetDataAsync().Result;
+            //ctrl.Properties.DataSource = onGetDataAsync().Result;
             return ctrl;
         }
+        public static async void SetEditValue<T>(this SearchLookUpEdit ctrl, Func<T, bool> predicate)
+        {
+            if (ctrl.Properties.DataSource == null)
+            {
+                var onGetData = (Func<dynamic>)ctrl.Tag;
+                if (onGetData != null)
+                {
+                    ctrl.Properties.DataSource = await onGetData();
+                }
+            }
+            var data = ctrl.Properties.DataSource as List<T>;
+            var item = data.Where(predicate).FirstOrDefault();
+            ctrl.EditValue = item;
+        }
 
         internal static RepositoryItemSearchLookUpEdit SetData<T>(this RepositoryItemSearchLookUpEdit ctrl, List<T> data)
         {

+ 294 - 344
DW5S.App/MainForm.Designer.cs

@@ -28,468 +28,418 @@
         /// </summary>
         private void InitializeComponent()
         {
-            this.components = new System.ComponentModel.Container();
-            this.components = new System.ComponentModel.Container();
+            components = new System.ComponentModel.Container();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
-            DevExpress.Utils.SuperToolTip superToolTip3 = new DevExpress.Utils.SuperToolTip();
-            DevExpress.Utils.ToolTipItem toolTipItem3 = new DevExpress.Utils.ToolTipItem();
-            this.ribbon = new DevExpress.XtraBars.Ribbon.RibbonControl();
-            this.skinPaletteDropDownButtonItem1 = new DevExpress.XtraBars.SkinPaletteDropDownButtonItem();
-            this.btnOpenApi = new DevExpress.XtraBars.BarButtonItem();
-            this.btnTask = new DevExpress.XtraBars.BarButtonItem();
-            this.btnCg = new DevExpress.XtraBars.BarButtonItem();
-            this.btnSet = new DevExpress.XtraBars.BarButtonItem();
-            this.btnRecTx = new DevExpress.XtraBars.BarButtonItem();
-            this.btnSat = new DevExpress.XtraBars.BarButtonItem();
-            this.btnCocTool = new DevExpress.XtraBars.BarButtonItem();
-            this.btnDetectTool = new DevExpress.XtraBars.BarButtonItem();
-            this.btnXlCalculate = new DevExpress.XtraBars.BarButtonItem();
-            this.barButtonItem1 = new DevExpress.XtraBars.BarButtonItem();
-            this.btnSvrs = new DevExpress.XtraBars.BarButtonItem();
-            this.btnSignal = new DevExpress.XtraBars.BarButtonItem();
-            this.txtSvrLog = new DevExpress.XtraBars.BarButtonItem();
-            this.btnSignalEmulation = new DevExpress.XtraBars.BarButtonItem();
-            this.btnFixedStation = new DevExpress.XtraBars.BarButtonItem();
-            this.btnDraw = new DevExpress.XtraBars.BarButtonItem();
-            this.btnRefTx = new DevExpress.XtraBars.BarButtonItem();
-            this.btnCdbTx = new DevExpress.XtraBars.BarButtonItem();
-            this.btnCxTx = new DevExpress.XtraBars.BarButtonItem();
-            this.btnXl = new DevExpress.XtraBars.BarButtonItem();
-            this.btnTarget = new DevExpress.XtraBars.BarButtonItem();
-            this.btnRefCg = new DevExpress.XtraBars.BarButtonItem();
-            this.btnRefTask = new DevExpress.XtraBars.BarButtonItem();
-            this.btnSample = new DevExpress.XtraBars.BarButtonItem();
-            this.ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage();
-            this.ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
-            this.ribbonPageGroup4 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
-            this.ribbonPageGroup2 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
-            this.ribbonPage2 = new DevExpress.XtraBars.Ribbon.RibbonPage();
-            this.ribbonPageGroup5 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
-            this.ribbonPageGroup6 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
-            this.ribbonPageGroup7 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
-            this.ribbonPage3 = new DevExpress.XtraBars.Ribbon.RibbonPage();
-            this.ribbonPageGroup8 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
-            this.documentManager1 = new DevExpress.XtraBars.Docking2010.DocumentManager(this.components);
-            this.tabbedView1 = new DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(this.components);
-            this.dockManager1 = new DevExpress.XtraBars.Docking.DockManager(this.components);
-            this.btnADCg = new DevExpress.XtraBars.BarButtonItem();
-            this.barTaskTemp = new DevExpress.XtraBars.BarButtonItem();
-            ((System.ComponentModel.ISupportInitialize)(this.ribbon)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.documentManager1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.tabbedView1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.dockManager1)).BeginInit();
-            this.SuspendLayout();
+            DevExpress.Utils.SuperToolTip superToolTip1 = new DevExpress.Utils.SuperToolTip();
+            DevExpress.Utils.ToolTipItem toolTipItem1 = new DevExpress.Utils.ToolTipItem();
+            ribbon = new DevExpress.XtraBars.Ribbon.RibbonControl();
+            skinPaletteDropDownButtonItem1 = new DevExpress.XtraBars.SkinPaletteDropDownButtonItem();
+            btnOpenApi = new DevExpress.XtraBars.BarButtonItem();
+            btnTask = new DevExpress.XtraBars.BarButtonItem();
+            btnCg = new DevExpress.XtraBars.BarButtonItem();
+            btnSet = new DevExpress.XtraBars.BarButtonItem();
+            btnRecTx = new DevExpress.XtraBars.BarButtonItem();
+            btnSat = new DevExpress.XtraBars.BarButtonItem();
+            btnCocTool = new DevExpress.XtraBars.BarButtonItem();
+            btnDetectTool = new DevExpress.XtraBars.BarButtonItem();
+            btnXlCalculate = new DevExpress.XtraBars.BarButtonItem();
+            barButtonItem1 = new DevExpress.XtraBars.BarButtonItem();
+            btnSvrs = new DevExpress.XtraBars.BarButtonItem();
+            btnSignal = new DevExpress.XtraBars.BarButtonItem();
+            txtSvrLog = new DevExpress.XtraBars.BarButtonItem();
+            btnSignalEmulation = new DevExpress.XtraBars.BarButtonItem();
+            btnFixedStation = new DevExpress.XtraBars.BarButtonItem();
+            btnDraw = new DevExpress.XtraBars.BarButtonItem();
+            btnRefTx = new DevExpress.XtraBars.BarButtonItem();
+            btnCdbTx = new DevExpress.XtraBars.BarButtonItem();
+            btnCxTx = new DevExpress.XtraBars.BarButtonItem();
+            btnXl = new DevExpress.XtraBars.BarButtonItem();
+            btnTarget = new DevExpress.XtraBars.BarButtonItem();
+            btnRefCg = new DevExpress.XtraBars.BarButtonItem();
+            btnRefTask = new DevExpress.XtraBars.BarButtonItem();
+            btnSample = new DevExpress.XtraBars.BarButtonItem();
+            btnADCg = new DevExpress.XtraBars.BarButtonItem();
+            barTaskTemp = new DevExpress.XtraBars.BarButtonItem();
+            ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage();
+            ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
+            ribbonPageGroup4 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
+            ribbonPageGroup2 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
+            ribbonPage2 = new DevExpress.XtraBars.Ribbon.RibbonPage();
+            ribbonPageGroup5 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
+            ribbonPageGroup6 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
+            ribbonPageGroup7 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
+            ribbonPage3 = new DevExpress.XtraBars.Ribbon.RibbonPage();
+            ribbonPageGroup8 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
+            documentManager1 = new DevExpress.XtraBars.Docking2010.DocumentManager(components);
+            tabbedView1 = new DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(components);
+            dockManager1 = new DevExpress.XtraBars.Docking.DockManager(components);
+            ((System.ComponentModel.ISupportInitialize)ribbon).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)documentManager1).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)tabbedView1).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)dockManager1).BeginInit();
+            SuspendLayout();
             // 
             // ribbon
             // 
-            this.ribbon.CaptionBarItemLinks.Add(this.skinPaletteDropDownButtonItem1);
-            this.ribbon.CaptionBarItemLinks.Add(this.btnOpenApi);
-            this.ribbon.DrawGroupCaptions = DevExpress.Utils.DefaultBoolean.False;
-            this.ribbon.ExpandCollapseItem.Id = 0;
-            this.ribbon.Items.AddRange(new DevExpress.XtraBars.BarItem[] {
-            this.skinPaletteDropDownButtonItem1,
-            this.btnOpenApi,
-            this.ribbon.ExpandCollapseItem,
-            this.btnTask,
-            this.btnCg,
-            this.btnSet,
-            this.btnRecTx,
-            this.btnSat,
-            this.btnCocTool,
-            this.btnDetectTool,
-            this.btnXlCalculate,
-            this.barButtonItem1,
-            this.btnSvrs,
-            this.btnSignal,
-            this.txtSvrLog,
-            this.btnSignalEmulation,
-            this.btnFixedStation,
-            this.btnDraw,
-            this.btnRefTx,
-            this.btnCdbTx,
-            this.btnCxTx,
-            this.btnXl,
-            this.btnTarget,
-            this.btnRefCg,
-            this.btnRefTask,
-            this.btnSample,
-            this.btnADCg,
-            this.barTaskTemp});
-            this.ribbon.Location = new System.Drawing.Point(0, 0);
-            this.ribbon.MaxItemId = 41;
-            this.ribbon.Name = "ribbon";
-            this.ribbon.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] {
-            this.ribbonPage1,
-            this.ribbonPage2,
-            this.ribbonPage3});
-            this.ribbon.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonControlStyle.MacOffice;
-            this.ribbon.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False;
-            this.ribbon.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.False;
-            this.ribbon.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.False;
-            this.ribbon.ShowMoreCommandsButton = DevExpress.Utils.DefaultBoolean.False;
-            this.ribbon.ShowPageHeadersInFormCaption = DevExpress.Utils.DefaultBoolean.False;
-            this.ribbon.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Show;
-            this.ribbon.ShowQatLocationSelector = false;
-            this.ribbon.ShowToolbarCustomizeItem = false;
-            this.ribbon.Size = new System.Drawing.Size(1347, 132);
-            this.ribbon.Toolbar.ShowCustomizeItem = false;
+            ribbon.CaptionBarItemLinks.Add(skinPaletteDropDownButtonItem1);
+            ribbon.CaptionBarItemLinks.Add(btnOpenApi);
+            ribbon.DrawGroupCaptions = DevExpress.Utils.DefaultBoolean.False;
+            ribbon.ExpandCollapseItem.Id = 0;
+            ribbon.Items.AddRange(new DevExpress.XtraBars.BarItem[] { skinPaletteDropDownButtonItem1, btnOpenApi, ribbon.ExpandCollapseItem, btnTask, btnCg, btnSet, btnRecTx, btnSat, btnCocTool, btnDetectTool, btnXlCalculate, barButtonItem1, btnSvrs, btnSignal, txtSvrLog, btnSignalEmulation, btnFixedStation, btnDraw, btnRefTx, btnCdbTx, btnCxTx, btnXl, btnTarget, btnRefCg, btnRefTask, btnSample, btnADCg, barTaskTemp });
+            ribbon.Location = new System.Drawing.Point(0, 0);
+            ribbon.MaxItemId = 41;
+            ribbon.Name = "ribbon";
+            ribbon.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage1, ribbonPage2, ribbonPage3 });
+            ribbon.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonControlStyle.MacOffice;
+            ribbon.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False;
+            ribbon.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.False;
+            ribbon.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.False;
+            ribbon.ShowMoreCommandsButton = DevExpress.Utils.DefaultBoolean.False;
+            ribbon.ShowPageHeadersInFormCaption = DevExpress.Utils.DefaultBoolean.False;
+            ribbon.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Show;
+            ribbon.ShowQatLocationSelector = false;
+            ribbon.ShowToolbarCustomizeItem = false;
+            ribbon.Size = new System.Drawing.Size(1347, 132);
+            ribbon.Toolbar.ShowCustomizeItem = false;
             // 
             // skinPaletteDropDownButtonItem1
             // 
-            this.skinPaletteDropDownButtonItem1.Id = 16;
-            this.skinPaletteDropDownButtonItem1.Name = "skinPaletteDropDownButtonItem1";
+            skinPaletteDropDownButtonItem1.ActAsDropDown = true;
+            skinPaletteDropDownButtonItem1.ButtonStyle = DevExpress.XtraBars.BarButtonStyle.DropDown;
+            skinPaletteDropDownButtonItem1.Id = 16;
+            skinPaletteDropDownButtonItem1.Name = "skinPaletteDropDownButtonItem1";
             // 
             // btnOpenApi
             // 
-            this.btnOpenApi.Caption = "barButtonItem1";
-            this.btnOpenApi.Id = 21;
-            this.btnOpenApi.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnOpenApi.ImageOptions.SvgImage")));
-            this.btnOpenApi.Name = "btnOpenApi";
-            toolTipItem3.Text = "查看接口文档";
-            superToolTip3.Items.Add(toolTipItem3);
-            this.btnOpenApi.SuperTip = superToolTip3;
-            this.btnOpenApi.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btnOpenApi_ItemClick);
+            btnOpenApi.Caption = "barButtonItem1";
+            btnOpenApi.Id = 21;
+            btnOpenApi.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnOpenApi.ImageOptions.SvgImage");
+            btnOpenApi.Name = "btnOpenApi";
+            toolTipItem1.Text = "查看接口文档";
+            superToolTip1.Items.Add(toolTipItem1);
+            btnOpenApi.SuperTip = superToolTip1;
+            btnOpenApi.ItemClick += btnOpenApi_ItemClick;
             // 
             // btnTask
             // 
-            this.btnTask.Caption = "任务管理";
-            this.btnTask.Id = 1;
-            this.btnTask.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("btnTask.ImageOptions.LargeImage")));
-            this.btnTask.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnTask.ImageOptions.SvgImage")));
-            this.btnTask.Name = "btnTask";
-            this.btnTask.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnTask.Caption = "任务管理";
+            btnTask.Id = 1;
+            btnTask.ImageOptions.LargeImage = (System.Drawing.Image)resources.GetObject("btnTask.ImageOptions.LargeImage");
+            btnTask.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnTask.ImageOptions.SvgImage");
+            btnTask.Name = "btnTask";
+            btnTask.ItemClick += btn_ItemClick;
             // 
             // btnCg
             // 
-            this.btnCg.Caption = "参估结果";
-            this.btnCg.Id = 2;
-            this.btnCg.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnCg.ImageOptions.SvgImage")));
-            this.btnCg.Name = "btnCg";
-            this.btnCg.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnCg.Caption = "参估结果";
+            btnCg.Id = 2;
+            btnCg.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnCg.ImageOptions.SvgImage");
+            btnCg.Name = "btnCg";
+            btnCg.ItemClick += btn_ItemClick;
             // 
             // btnSet
             // 
-            this.btnSet.Caption = "系统设置";
-            this.btnSet.Id = 5;
-            this.btnSet.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnSet.ImageOptions.SvgImage")));
-            this.btnSet.Name = "btnSet";
-            this.btnSet.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnSet.Caption = "系统设置";
+            btnSet.Id = 5;
+            btnSet.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnSet.ImageOptions.SvgImage");
+            btnSet.Name = "btnSet";
+            btnSet.ItemClick += btn_ItemClick;
             // 
             // btnRecTx
             // 
-            this.btnRecTx.Caption = "接收站管理";
-            this.btnRecTx.Id = 6;
-            this.btnRecTx.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnRecTx.ImageOptions.SvgImage")));
-            this.btnRecTx.Name = "btnRecTx";
-            this.btnRecTx.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnRecTx.Caption = "接收站管理";
+            btnRecTx.Id = 6;
+            btnRecTx.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnRecTx.ImageOptions.SvgImage");
+            btnRecTx.Name = "btnRecTx";
+            btnRecTx.ItemClick += btn_ItemClick;
             // 
             // btnSat
             // 
-            this.btnSat.Caption = "卫星管理";
-            this.btnSat.Id = 8;
-            this.btnSat.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("btnSat.ImageOptions.Image")));
-            this.btnSat.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("btnSat.ImageOptions.LargeImage")));
-            this.btnSat.Name = "btnSat";
-            this.btnSat.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnSat.Caption = "卫星管理";
+            btnSat.Id = 8;
+            btnSat.ImageOptions.Image = (System.Drawing.Image)resources.GetObject("btnSat.ImageOptions.Image");
+            btnSat.ImageOptions.LargeImage = (System.Drawing.Image)resources.GetObject("btnSat.ImageOptions.LargeImage");
+            btnSat.Name = "btnSat";
+            btnSat.ItemClick += btn_ItemClick;
             // 
             // btnCocTool
             // 
-            this.btnCocTool.Caption = " GPU参估 ";
-            this.btnCocTool.Id = 17;
-            this.btnCocTool.ImageOptions.ImageUri.Uri = "snap/calcdefault";
-            this.btnCocTool.Name = "btnCocTool";
-            this.btnCocTool.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnCocTool.Caption = " GPU参估 ";
+            btnCocTool.Id = 17;
+            btnCocTool.ImageOptions.ImageUri.Uri = "snap/calcdefault";
+            btnCocTool.Name = "btnCocTool";
+            btnCocTool.ItemClick += btn_ItemClick;
             // 
             // btnDetectTool
             // 
-            this.btnDetectTool.Caption = " 检测参估 ";
-            this.btnDetectTool.Id = 22;
-            this.btnDetectTool.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnDetectTool.ImageOptions.SvgImage")));
-            this.btnDetectTool.Name = "btnDetectTool";
-            this.btnDetectTool.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnDetectTool.Caption = " 检测参估 ";
+            btnDetectTool.Id = 22;
+            btnDetectTool.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnDetectTool.ImageOptions.SvgImage");
+            btnDetectTool.Name = "btnDetectTool";
+            btnDetectTool.ItemClick += btn_ItemClick;
             // 
             // btnXlCalculate
             // 
-            this.btnXlCalculate.Caption = " 星历推算 ";
-            this.btnXlCalculate.Id = 24;
-            this.btnXlCalculate.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnXlCalculate.ImageOptions.SvgImage")));
-            this.btnXlCalculate.Name = "btnXlCalculate";
-            this.btnXlCalculate.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnXlCalculate.Caption = " 星历推算 ";
+            btnXlCalculate.Id = 24;
+            btnXlCalculate.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnXlCalculate.ImageOptions.SvgImage");
+            btnXlCalculate.Name = "btnXlCalculate";
+            btnXlCalculate.ItemClick += btn_ItemClick;
             // 
             // barButtonItem1
             // 
-            this.barButtonItem1.Caption = " 变采样 ";
-            this.barButtonItem1.Id = 25;
-            this.barButtonItem1.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barButtonItem1.ImageOptions.SvgImage")));
-            this.barButtonItem1.Name = "barButtonItem1";
-            this.barButtonItem1.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            barButtonItem1.Caption = " 变采样 ";
+            barButtonItem1.Id = 25;
+            barButtonItem1.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barButtonItem1.ImageOptions.SvgImage");
+            barButtonItem1.Name = "barButtonItem1";
+            barButtonItem1.ItemClick += btn_ItemClick;
             // 
             // btnSvrs
             // 
-            this.btnSvrs.Caption = "服务状态";
-            this.btnSvrs.Id = 26;
-            this.btnSvrs.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnSvrs.ImageOptions.SvgImage")));
-            this.btnSvrs.Name = "btnSvrs";
-            this.btnSvrs.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnSvrs.Caption = "服务状态";
+            btnSvrs.Id = 26;
+            btnSvrs.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnSvrs.ImageOptions.SvgImage");
+            btnSvrs.Name = "btnSvrs";
+            btnSvrs.ItemClick += btn_ItemClick;
             // 
             // btnSignal
             // 
-            this.btnSignal.Caption = "信号管理";
-            this.btnSignal.Id = 27;
-            this.btnSignal.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnSignal.ImageOptions.SvgImage")));
-            this.btnSignal.Name = "btnSignal";
-            this.btnSignal.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnSignal.Caption = "信号管理";
+            btnSignal.Id = 27;
+            btnSignal.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnSignal.ImageOptions.SvgImage");
+            btnSignal.Name = "btnSignal";
+            btnSignal.ItemClick += btn_ItemClick;
             // 
             // txtSvrLog
             // 
-            this.txtSvrLog.Caption = "服务日志";
-            this.txtSvrLog.Id = 28;
-            this.txtSvrLog.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("txtSvrLog.ImageOptions.SvgImage")));
-            this.txtSvrLog.Name = "txtSvrLog";
-            this.txtSvrLog.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            txtSvrLog.Caption = "服务日志";
+            txtSvrLog.Id = 28;
+            txtSvrLog.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("txtSvrLog.ImageOptions.SvgImage");
+            txtSvrLog.Name = "txtSvrLog";
+            txtSvrLog.ItemClick += btn_ItemClick;
             // 
             // btnSignalEmulation
             // 
-            this.btnSignalEmulation.Caption = "信号仿真";
-            this.btnSignalEmulation.Id = 29;
-            this.btnSignalEmulation.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnSignalEmulation.ImageOptions.SvgImage")));
-            this.btnSignalEmulation.Name = "btnSignalEmulation";
-            this.btnSignalEmulation.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
-            this.btnSignalEmulation.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnSignalEmulation.Caption = "信号仿真";
+            btnSignalEmulation.Id = 29;
+            btnSignalEmulation.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnSignalEmulation.ImageOptions.SvgImage");
+            btnSignalEmulation.Name = "btnSignalEmulation";
+            btnSignalEmulation.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
+            btnSignalEmulation.ItemClick += 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);
+            btnFixedStation.Caption = "固定站管理";
+            btnFixedStation.Id = 30;
+            btnFixedStation.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnFixedStation.ImageOptions.SvgImage");
+            btnFixedStation.Name = "btnFixedStation";
+            btnFixedStation.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
+            btnFixedStation.ItemClick += btn_ItemClick;
             // 
             // btnDraw
             // 
-            this.btnDraw.Caption = "绘图管理";
-            this.btnDraw.Id = 31;
-            this.btnDraw.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnDraw.ImageOptions.SvgImage")));
-            this.btnDraw.Name = "btnDraw";
-            this.btnDraw.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
-            this.btnDraw.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnDraw.Caption = "绘图管理";
+            btnDraw.Id = 31;
+            btnDraw.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnDraw.ImageOptions.SvgImage");
+            btnDraw.Name = "btnDraw";
+            btnDraw.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
+            btnDraw.ItemClick += btn_ItemClick;
             // 
             // btnRefTx
             // 
-            this.btnRefTx.Caption = "参考站管理";
-            this.btnRefTx.Id = 32;
-            this.btnRefTx.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnRefTx.ImageOptions.SvgImage")));
-            this.btnRefTx.Name = "btnRefTx";
-            this.btnRefTx.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnRefTx.Caption = "参考站管理";
+            btnRefTx.Id = 32;
+            btnRefTx.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnRefTx.ImageOptions.SvgImage");
+            btnRefTx.Name = "btnRefTx";
+            btnRefTx.ItemClick += btn_ItemClick;
             // 
             // btnCdbTx
             // 
-            this.btnCdbTx.Caption = "超短站管理";
-            this.btnCdbTx.Id = 33;
-            this.btnCdbTx.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnCdbTx.ImageOptions.SvgImage")));
-            this.btnCdbTx.Name = "btnCdbTx";
-            this.btnCdbTx.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnCdbTx.Caption = "超短站管理";
+            btnCdbTx.Id = 33;
+            btnCdbTx.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnCdbTx.ImageOptions.SvgImage");
+            btnCdbTx.Name = "btnCdbTx";
+            btnCdbTx.ItemClick += btn_ItemClick;
             // 
             // btnCxTx
             // 
-            this.btnCxTx.Caption = "测向站管理";
-            this.btnCxTx.Id = 34;
-            this.btnCxTx.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnCxTx.ImageOptions.SvgImage")));
-            this.btnCxTx.Name = "btnCxTx";
-            this.btnCxTx.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnCxTx.Caption = "测向站管理";
+            btnCxTx.Id = 34;
+            btnCxTx.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnCxTx.ImageOptions.SvgImage");
+            btnCxTx.Name = "btnCxTx";
+            btnCxTx.ItemClick += btn_ItemClick;
             // 
             // btnXl
             // 
-            this.btnXl.Caption = "星历管理";
-            this.btnXl.Id = 35;
-            this.btnXl.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnXl.ImageOptions.SvgImage")));
-            this.btnXl.Name = "btnXl";
-            this.btnXl.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnXl.Caption = "星历管理";
+            btnXl.Id = 35;
+            btnXl.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnXl.ImageOptions.SvgImage");
+            btnXl.Name = "btnXl";
+            btnXl.ItemClick += btn_ItemClick;
             // 
             // btnTarget
             // 
-            this.btnTarget.Caption = "目标管理";
-            this.btnTarget.Id = 23;
-            this.btnTarget.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnTarget.ImageOptions.SvgImage")));
-            this.btnTarget.Name = "btnTarget";
-            this.btnTarget.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph;
-            this.btnTarget.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnTarget.Caption = "目标管理";
+            btnTarget.Id = 23;
+            btnTarget.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnTarget.ImageOptions.SvgImage");
+            btnTarget.Name = "btnTarget";
+            btnTarget.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph;
+            btnTarget.ItemClick += btn_ItemClick;
             // 
             // btnRefCg
             // 
-            this.btnRefCg.Caption = "参考参估";
-            this.btnRefCg.Id = 36;
-            this.btnRefCg.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnRefCg.ImageOptions.SvgImage")));
-            this.btnRefCg.Name = "btnRefCg";
-            this.btnRefCg.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnRefCg.Caption = "参考参估";
+            btnRefCg.Id = 36;
+            btnRefCg.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnRefCg.ImageOptions.SvgImage");
+            btnRefCg.Name = "btnRefCg";
+            btnRefCg.ItemClick += btn_ItemClick;
             // 
             // btnRefTask
             // 
-            this.btnRefTask.Caption = "参考任务";
-            this.btnRefTask.Id = 37;
-            this.btnRefTask.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnRefTask.ImageOptions.SvgImage")));
-            this.btnRefTask.Name = "btnRefTask";
-            this.btnRefTask.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnRefTask.Caption = "参考任务";
+            btnRefTask.Id = 37;
+            btnRefTask.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnRefTask.ImageOptions.SvgImage");
+            btnRefTask.Name = "btnRefTask";
+            btnRefTask.ItemClick += btn_ItemClick;
             // 
             // btnSample
             // 
-            this.btnSample.Caption = "样本管理";
-            this.btnSample.Id = 38;
-            this.btnSample.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnSample.ImageOptions.SvgImage")));
-            this.btnSample.Name = "btnSample";
-            this.btnSample.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            btnSample.Caption = "样本管理";
+            btnSample.Id = 38;
+            btnSample.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnSample.ImageOptions.SvgImage");
+            btnSample.Name = "btnSample";
+            btnSample.ItemClick += btn_ItemClick;
+            // 
+            // btnADCg
+            // 
+            btnADCg.Caption = "采集结果";
+            btnADCg.Id = 39;
+            btnADCg.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnADCg.ImageOptions.SvgImage");
+            btnADCg.Name = "btnADCg";
+            btnADCg.ItemClick += btn_ItemClick;
+            // 
+            // barTaskTemp
+            // 
+            barTaskTemp.Caption = "任务模版";
+            barTaskTemp.Id = 40;
+            barTaskTemp.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barTaskTemp.ImageOptions.SvgImage");
+            barTaskTemp.Name = "barTaskTemp";
+            barTaskTemp.ItemClick += btn_ItemClick;
             // 
             // ribbonPage1
             // 
-            this.ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] {
-            this.ribbonPageGroup1,
-            this.ribbonPageGroup4,
-            this.ribbonPageGroup2});
-            this.ribbonPage1.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("ribbonPage1.ImageOptions.SvgImage")));
-            this.ribbonPage1.ImageOptions.SvgImageSize = new System.Drawing.Size(20, 20);
-            this.ribbonPage1.Name = "ribbonPage1";
-            this.ribbonPage1.Text = "主页";
+            ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribbonPageGroup1, ribbonPageGroup4, ribbonPageGroup2 });
+            ribbonPage1.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("ribbonPage1.ImageOptions.SvgImage");
+            ribbonPage1.ImageOptions.SvgImageSize = new System.Drawing.Size(20, 20);
+            ribbonPage1.Name = "ribbonPage1";
+            ribbonPage1.Text = "主页";
             // 
             // ribbonPageGroup1
             // 
-            this.ribbonPageGroup1.ItemLinks.Add(this.barTaskTemp);
-            this.ribbonPageGroup1.ItemLinks.Add(this.btnTask);
-            this.ribbonPageGroup1.ItemLinks.Add(this.btnRefTask);
-            this.ribbonPageGroup1.ItemLinks.Add(this.btnADCg, true);
-            this.ribbonPageGroup1.ItemLinks.Add(this.btnCg);
-            this.ribbonPageGroup1.ItemLinks.Add(this.btnDraw);
-            this.ribbonPageGroup1.ItemLinks.Add(this.btnRefCg);
-            this.ribbonPageGroup1.Name = "ribbonPageGroup1";
-            this.ribbonPageGroup1.Text = "主功能区";
+            ribbonPageGroup1.ItemLinks.Add(barTaskTemp);
+            ribbonPageGroup1.ItemLinks.Add(btnTask);
+            ribbonPageGroup1.ItemLinks.Add(btnRefTask);
+            ribbonPageGroup1.ItemLinks.Add(btnADCg, true);
+            ribbonPageGroup1.ItemLinks.Add(btnCg);
+            ribbonPageGroup1.ItemLinks.Add(btnDraw);
+            ribbonPageGroup1.ItemLinks.Add(btnRefCg);
+            ribbonPageGroup1.Name = "ribbonPageGroup1";
+            ribbonPageGroup1.Text = "主功能区";
             // 
             // ribbonPageGroup4
             // 
-            this.ribbonPageGroup4.ItemLinks.Add(this.btnSvrs);
-            this.ribbonPageGroup4.ItemLinks.Add(this.txtSvrLog);
-            this.ribbonPageGroup4.Name = "ribbonPageGroup4";
-            this.ribbonPageGroup4.Text = "ribbonPageGroup4";
+            ribbonPageGroup4.ItemLinks.Add(btnSvrs);
+            ribbonPageGroup4.ItemLinks.Add(txtSvrLog);
+            ribbonPageGroup4.Name = "ribbonPageGroup4";
+            ribbonPageGroup4.Text = "ribbonPageGroup4";
             // 
             // ribbonPageGroup2
             // 
-            this.ribbonPageGroup2.ItemLinks.Add(this.btnSet);
-            this.ribbonPageGroup2.Name = "ribbonPageGroup2";
-            this.ribbonPageGroup2.Text = "基础信息";
+            ribbonPageGroup2.ItemLinks.Add(btnSet);
+            ribbonPageGroup2.Name = "ribbonPageGroup2";
+            ribbonPageGroup2.Text = "基础信息";
             // 
             // ribbonPage2
             // 
-            this.ribbonPage2.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] {
-            this.ribbonPageGroup5,
-            this.ribbonPageGroup6,
-            this.ribbonPageGroup7});
-            this.ribbonPage2.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("ribbonPage2.ImageOptions.SvgImage")));
-            this.ribbonPage2.ImageOptions.SvgImageSize = new System.Drawing.Size(20, 20);
-            this.ribbonPage2.Name = "ribbonPage2";
-            this.ribbonPage2.Text = "基础信息";
+            ribbonPage2.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribbonPageGroup5, ribbonPageGroup6, ribbonPageGroup7 });
+            ribbonPage2.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("ribbonPage2.ImageOptions.SvgImage");
+            ribbonPage2.ImageOptions.SvgImageSize = new System.Drawing.Size(20, 20);
+            ribbonPage2.Name = "ribbonPage2";
+            ribbonPage2.Text = "基础信息";
             // 
             // ribbonPageGroup5
             // 
-            this.ribbonPageGroup5.ItemLinks.Add(this.btnXl);
-            this.ribbonPageGroup5.ItemLinks.Add(this.btnSat);
-            this.ribbonPageGroup5.Name = "ribbonPageGroup5";
-            this.ribbonPageGroup5.Text = "ribbonPageGroup5";
+            ribbonPageGroup5.ItemLinks.Add(btnXl);
+            ribbonPageGroup5.ItemLinks.Add(btnSat);
+            ribbonPageGroup5.Name = "ribbonPageGroup5";
+            ribbonPageGroup5.Text = "ribbonPageGroup5";
             // 
             // ribbonPageGroup6
             // 
-            this.ribbonPageGroup6.ItemLinks.Add(this.btnRecTx);
-            this.ribbonPageGroup6.ItemLinks.Add(this.btnRefTx);
-            this.ribbonPageGroup6.ItemLinks.Add(this.btnCdbTx);
-            this.ribbonPageGroup6.ItemLinks.Add(this.btnCxTx);
-            this.ribbonPageGroup6.Name = "ribbonPageGroup6";
-            this.ribbonPageGroup6.Text = "ribbonPageGroup6";
+            ribbonPageGroup6.ItemLinks.Add(btnRecTx);
+            ribbonPageGroup6.ItemLinks.Add(btnRefTx);
+            ribbonPageGroup6.ItemLinks.Add(btnCdbTx);
+            ribbonPageGroup6.ItemLinks.Add(btnCxTx);
+            ribbonPageGroup6.Name = "ribbonPageGroup6";
+            ribbonPageGroup6.Text = "ribbonPageGroup6";
             // 
             // ribbonPageGroup7
             // 
-            this.ribbonPageGroup7.ItemLinks.Add(this.btnFixedStation);
-            this.ribbonPageGroup7.ItemLinks.Add(this.btnTarget);
-            this.ribbonPageGroup7.ItemLinks.Add(this.btnSignal);
-            this.ribbonPageGroup7.ItemLinks.Add(this.btnSample);
-            this.ribbonPageGroup7.Name = "ribbonPageGroup7";
-            this.ribbonPageGroup7.Text = "ribbonPageGroup7";
+            ribbonPageGroup7.ItemLinks.Add(btnFixedStation);
+            ribbonPageGroup7.ItemLinks.Add(btnTarget);
+            ribbonPageGroup7.ItemLinks.Add(btnSignal);
+            ribbonPageGroup7.ItemLinks.Add(btnSample);
+            ribbonPageGroup7.Name = "ribbonPageGroup7";
+            ribbonPageGroup7.Text = "ribbonPageGroup7";
             // 
             // ribbonPage3
             // 
-            this.ribbonPage3.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] {
-            this.ribbonPageGroup8});
-            this.ribbonPage3.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("ribbonPage3.ImageOptions.SvgImage")));
-            this.ribbonPage3.ImageOptions.SvgImageSize = new System.Drawing.Size(20, 20);
-            this.ribbonPage3.Name = "ribbonPage3";
-            this.ribbonPage3.Text = "手动工具";
+            ribbonPage3.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribbonPageGroup8 });
+            ribbonPage3.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("ribbonPage3.ImageOptions.SvgImage");
+            ribbonPage3.ImageOptions.SvgImageSize = new System.Drawing.Size(20, 20);
+            ribbonPage3.Name = "ribbonPage3";
+            ribbonPage3.Text = "手动工具";
             // 
             // ribbonPageGroup8
             // 
-            this.ribbonPageGroup8.ItemLinks.Add(this.barButtonItem1);
-            this.ribbonPageGroup8.ItemLinks.Add(this.btnCocTool);
-            this.ribbonPageGroup8.ItemLinks.Add(this.btnDetectTool);
-            this.ribbonPageGroup8.ItemLinks.Add(this.btnXlCalculate);
-            this.ribbonPageGroup8.ItemLinks.Add(this.btnSignalEmulation);
-            this.ribbonPageGroup8.Name = "ribbonPageGroup8";
-            this.ribbonPageGroup8.Text = "ribbonPageGroup8";
+            ribbonPageGroup8.ItemLinks.Add(barButtonItem1);
+            ribbonPageGroup8.ItemLinks.Add(btnCocTool);
+            ribbonPageGroup8.ItemLinks.Add(btnDetectTool);
+            ribbonPageGroup8.ItemLinks.Add(btnXlCalculate);
+            ribbonPageGroup8.ItemLinks.Add(btnSignalEmulation);
+            ribbonPageGroup8.Name = "ribbonPageGroup8";
+            ribbonPageGroup8.Text = "ribbonPageGroup8";
             // 
             // documentManager1
             // 
-            this.documentManager1.MdiParent = this;
-            this.documentManager1.MenuManager = this.ribbon;
-            this.documentManager1.View = this.tabbedView1;
-            this.documentManager1.ViewCollection.AddRange(new DevExpress.XtraBars.Docking2010.Views.BaseView[] {
-            this.tabbedView1});
+            documentManager1.MdiParent = this;
+            documentManager1.MenuManager = ribbon;
+            documentManager1.View = tabbedView1;
+            documentManager1.ViewCollection.AddRange(new DevExpress.XtraBars.Docking2010.Views.BaseView[] { tabbedView1 });
             // 
             // dockManager1
             // 
-            this.dockManager1.Form = this;
-            this.dockManager1.TopZIndexControls.AddRange(new string[] {
-            "DevExpress.XtraBars.BarDockControl",
-            "DevExpress.XtraBars.StandaloneBarDockControl",
-            "System.Windows.Forms.MenuStrip",
-            "System.Windows.Forms.StatusStrip",
-            "System.Windows.Forms.StatusBar",
-            "DevExpress.XtraBars.Ribbon.RibbonStatusBar",
-            "DevExpress.XtraBars.Ribbon.RibbonControl",
-            "DevExpress.XtraBars.Navigation.OfficeNavigationBar",
-            "DevExpress.XtraBars.Navigation.TileNavPane",
-            "DevExpress.XtraBars.TabFormControl",
-            "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl",
-            "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl"});
-            // 
-            // btnADCg
-            // 
-            this.btnADCg.Caption = "采集结果";
-            this.btnADCg.Id = 39;
-            this.btnADCg.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnADCg.ImageOptions.SvgImage")));
-            this.btnADCg.Name = "btnADCg";
-            this.btnADCg.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
-            // 
-            // barTaskTemp
-            // 
-            this.barTaskTemp.Caption = "任务模版";
-            this.barTaskTemp.Id = 40;
-            this.barTaskTemp.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barTaskTemp.ImageOptions.SvgImage")));
-            this.barTaskTemp.Name = "barTaskTemp";
-            this.barTaskTemp.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            dockManager1.Form = this;
+            dockManager1.TopZIndexControls.AddRange(new string[] { "DevExpress.XtraBars.BarDockControl", "DevExpress.XtraBars.StandaloneBarDockControl", "System.Windows.Forms.MenuStrip", "System.Windows.Forms.StatusStrip", "System.Windows.Forms.StatusBar", "DevExpress.XtraBars.Ribbon.RibbonStatusBar", "DevExpress.XtraBars.Ribbon.RibbonControl", "DevExpress.XtraBars.Navigation.OfficeNavigationBar", "DevExpress.XtraBars.Navigation.TileNavPane", "DevExpress.XtraBars.TabFormControl", "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl", "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl" });
             // 
             // MainForm
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(1347, 704);
-            this.Controls.Add(this.ribbon);
-            this.IconOptions.Image = ((System.Drawing.Image)(resources.GetObject("MainForm.IconOptions.Image")));
-            this.IsMdiContainer = true;
-            this.Name = "MainForm";
-            this.Ribbon = this.ribbon;
-            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
-            this.Load += new System.EventHandler(this.MainForm_Load);
-            ((System.ComponentModel.ISupportInitialize)(this.ribbon)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.documentManager1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.tabbedView1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.dockManager1)).EndInit();
-            this.ResumeLayout(false);
-            this.PerformLayout();
-
+            AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
+            AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            ClientSize = new System.Drawing.Size(1347, 704);
+            Controls.Add(ribbon);
+            IconOptions.Image = (System.Drawing.Image)resources.GetObject("MainForm.IconOptions.Image");
+            IsMdiContainer = true;
+            Name = "MainForm";
+            Ribbon = ribbon;
+            WindowState = System.Windows.Forms.FormWindowState.Maximized;
+            Load += MainForm_Load;
+            ((System.ComponentModel.ISupportInitialize)ribbon).EndInit();
+            ((System.ComponentModel.ISupportInitialize)documentManager1).EndInit();
+            ((System.ComponentModel.ISupportInitialize)tabbedView1).EndInit();
+            ((System.ComponentModel.ISupportInitialize)dockManager1).EndInit();
+            ResumeLayout(false);
+            PerformLayout();
         }
 
         #endregion

+ 216 - 215
DW5S.App/MainForm.resx

@@ -1,24 +1,24 @@
 <?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 
+
+    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="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>
@@ -26,36 +26,36 @@
         <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 
+
+    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 
+
+    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 
+
+    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 
+
+    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 
+    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 
+    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 
+    value   : The object must be serialized into a byte array
             : using a System.ComponentModel.TypeConverter
             : and then encoded with base64 encoding.
     -->
@@ -117,7 +117,7 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
+  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
   <data name="btnOpenApi.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
@@ -150,49 +150,49 @@
   <data name="btnTask.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         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
-        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
-        gPsH74Mcs+ZboRcAAAAASUVORK5CYII=
+        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
+        gxyzk7AwVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="btnTask.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -358,48 +358,50 @@
   <data name="btnSat.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
-        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAPdEVYdFRpdGxlAFNhdGVsaXRlOxVk56QAAAILSURB
-        VDhPjZHNaxNRFMULhS7daF37FwhmoQjdGMWt4EYScGM6oSC4GE2NhtbRYBonaUK+TUxmFTQfJoGEiApi
-        BZMomEUdA6FuBZGmuBDaSkOv546TIe1U7IXfvHnv3XPee/dOENF/abVaB8J7fz/7YmaueB68Akd4Pi6q
-        1+vuXC73LZ1OW5PJpNkAostgW376iTC+4LWRuNFo3KvVasNqtUqJRGJgMoDAAYbP3n5l8W9gHYm73e6J
-        SqWyVSqVKBqNDmOx2I09Bkh2gV3ljSYeWoXHs5lMZgqnfsCp20tLvvm7njs/Q6HQRiQSmWfT/QbS7PIK
-        i3fPCU9u2+329WKxuNbpdKjX61E4HN7x+R56IDo6utVBT5CAG++bKhQKa+12mwaDAfX7fcItCIINFo1j
-        KiI75/P5dxgNcbPZJEVRKB6Pvy6Xy3qmrh03wJtPiaJ4EjfYYgNVVTUx2kbBYHAVz5jEDY0WmwxSqZSE
-        6pLT6dyEgFB1ymazFAgEPttstvWL15YXIDRabDLgkO5LZa/3AQmCsOn3+39B3JBlefKCIyrPzBVovMUm
-        g5u3xGPgy+LiwnO0i1wu12kuFJL3tBhc4nxNe9X7chp81w2ugOP8j5MlYOF/CIwWAwevcWgG18MrZ4Cq
-        r/0z2AS49akWmoFH+WgRk+8Jowp+6HuHCqMGj0qrFnAWTPP88NDEH/j96Y9kjSwpAAAAAElFTkSuQmCC
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAPdEVYdFRpdGxlAFNhdGVsaXRlOxVk56QAAAIoSURB
+        VDhPlZLBa9NQHMcHgx296Dz7Fwj2oAjvYhWvghdpYRe3lgcDD2k7p2UzWuzaviyhTZPa2ORUtC81DTRU
+        piBWMK0Fe6i1UOZVEFmHB2GbWPbkVVtiMxn+4Bd+L/l9P+/l930zhJCZ49K27SOTfvv9mAoA8WUA8QsA
+        8Qm6doqq1eqqqqqf8/m8V5ZlNwBAfB1AfJB68p4AiJ87AZZl3TNNc1ipVIgkSQMXAEC8CCAePn39iYp/
+        AIi9Y3G73T5jGMa+ruskk8kMRVG89RcAQBwBEB9qr0bioTfwaElRlDnLst6ZpnmwsRFfuRu9843n+d10
+        Or1CodMAdmmzTsWHlwKPb/v9/h2M8Xaz2SS9Xo8IgvAzHn8YlWX55PhUR/0CCyBelSRprlQqbTcaDTIY
+        DEi/3yemaRJZlnepyJmuIVJysVh8Y9v2RFyr1YimaSSbzb4sl8uTXpeNiqKcYxjmrCRJ+xTQ7XZHYlVV
+        CcdxHUEQZp0WuwC5XI4VRZEEg8E9juOIYRikUCgQhNAHn8+3c/Xm5prTYheABnufLcdiD0ggENhLJBLf
+        EUJWKpWavbKYSQFYIk6LXYBQmDkVCjMf19fXnvE8TyKRyHk6qGmLAcTXaP9IuxDbml+IbX35A7gRCjOn
+        aY0QYhFCHlo7LaaXbbzhCLAs1C8sC/Xu5Bj/iLHFzncjQFRreRj5LYlqrW5Ua311NhwXkxkk9Y4nqXcu
+        JvXOPF3/T/4C+P3pj1/PMtcAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="btnSat.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         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
-        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
-        2GJTAAAAAElFTkSuQmCC
+        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
 </value>
   </data>
   <data name="btnDetectTool.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -940,114 +942,113 @@
   </metadata>
   <data name="MainForm.IconOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        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
+        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
 </value>
   </data>
   <metadata name="dockManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

+ 13 - 6
DW5S.App/UserControl/CtrlXl.cs

@@ -1,4 +1,5 @@
-using DevExpress.XtraEditors;
+using DevExpress.Xpo;
+using DevExpress.XtraEditors;
 using DW5S.App.CorTools;
 using DW5S.DTO;
 using DW5S.Entity;
@@ -17,7 +18,7 @@ namespace DW5S.App.UserControl
     public partial class CtrlXl : DevExpress.XtraEditors.XtraUserControl
     {
         List<XlViewModel> list = new List<XlViewModel>();
-       
+
         int? satCode = null;
         public CtrlXl()
         {
@@ -36,14 +37,19 @@ namespace DW5S.App.UserControl
             ctrlPage1.RefreshData();
 
         }
-
-        private async void CtrlXl_Load(object sender, EventArgs e)
+        private async Task<IEnumerable<SatViewModel>> GetAllSat()
+        {
+            var unitOfWork = IocContainer.UnitOfWork;
+            var repsXl = unitOfWork.Of<XlInfo>() as XlRepository;
+            var list = await repsXl.GetAllSat();
+            return list.To<List<SatViewModel>>();
+        }
+        private void CtrlXl_Load(object sender, EventArgs e)
         {
             ctrlPage1.SetOnQuery(LoadPageData);
             var unitOfWork = IocContainer.UnitOfWork;
             var repsXl = unitOfWork.Of<XlInfo>() as XlRepository;
-            var sat = await repsXl.GetAllSat();
-            txtSat.UseDefault("不限制", true).SetData(sat.To<List<SatViewModel>>(), displayField: nameof(SatViewModel.Sat)).UseDoubleClickToSelectAll();
+            txtSat.UseDefault("不限制", true).SetData(GetAllSat, displayField: nameof(SatViewModel.Sat)).UseDoubleClickToSelectAll();
 
             gridXl.UseDefault(list).UseRowNumber().UseDeleteAsync<XlViewModel>(Del)
                 .UseClearAsync<XlViewModel>(Clear).UseExportXlsx()
@@ -159,6 +165,7 @@ namespace DW5S.App.UserControl
         {
             try
             {
+
                 this.Enabled = false;
                 var unitOfWork = IocContainer.UnitOfWork;
                 var repsXl = unitOfWork.Of<XlInfo>();

+ 1 - 1
DW5S.Repostory/Repository/XlRepository.cs

@@ -39,7 +39,7 @@ namespace DW5S.Repostory
             return count;
         }
 
-        public async Task<List<SatInfo>> GetAllSat()
+        public async Task<IEnumerable<SatInfo>> GetAllSat()
         {
             var data = await dbSet.GroupBy(p => p.SatCode).Select(p => p.FirstOrDefault()).ToListAsync();
             var sats = data.Select(p => new SatInfo()

+ 2 - 1
DW5S.ViewModel/BaseViewModel.cs

@@ -8,7 +8,7 @@ using System.Threading.Tasks;
 
 namespace DW5S.ViewModel
 {
-    public  class BaseViewModel<T>
+    public class BaseViewModel<T>
     {
         [Display(Name = "编号")]
         public T Id { get; set; }
@@ -18,6 +18,7 @@ namespace DW5S.ViewModel
 
         [Display(Name = "更新时间")]
         public DateTime UpdateTime { get; set; }
+
     }
 
 }

+ 2 - 2
DW5S.ViewModel/SatViewModel.cs

@@ -20,8 +20,8 @@ namespace XdCxRhDW5S.ViewModel
         [Display(Name = "轨道经度")]
         public double? SatLon { get; set; }
 
-        [Display(Name = "卫星本振(MHz)")]
-        public double? SatTrans { get; set; }
+        //[Display(Name = "卫星本振(MHz)")]
+        //public double? SatTrans { get; set; }
 
         [Display(Name = "卫星")]
         public string Sat