lixiaojun
2024-08-14 2448599b4368a9bf648a5a393a97afd1f9d93ce4
Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0
已修改8个文件
已添加4个文件
2419 ■■■■■ 文件已修改
WinFrmUI/HStation.WinFrmUI.Basic/00-SysTypeManage/AddSysMoudleDlg.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump-main/XhsPumpMainPhartPanel.Designer.cs 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/HomeXhsProjectPage.Designer.cs 155 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/00-core/01-xtr-ele/01-base/XtrBase.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/00-core/01-xtr-ele/01-base/XtrBorder.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/00-core/01-xtr-ele/01-base/XtrLegend.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/00-core/01-xtr-ele/05-annotation/XtrTextAnnotation.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/00-core/02-/XtrPerformCurveDiagram2d.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-chart/01-chart/XtrPerform2dChartUpdate.Designer.cs 472 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-chart/01-chart/XtrPerform2dChartUpdate.cs 1152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-chart/01-chart/XtrPerform2dChartUpdate.resx 513 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Phart.Core/Yw.WinFrmUI.Phart.Core.csproj 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Basic/00-SysTypeManage/AddSysMoudleDlg.cs
@@ -33,6 +33,8 @@
            _AddModuleDto = new Yw.Vmo.SysModule();
            _AddModuleDto.Name = TextEditName.Text.Trim();
            _AddModuleDto.Description = TextEditDescription.Text.Trim();
            if (await this.ReloadDataEvent.Invoke(_AddModuleDto))
            {
                MessageBoxHelper.ShowSuccess("添加成功!");
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump-main/XhsPumpMainPhartPanel.Designer.cs
@@ -77,10 +77,10 @@
            xtrPerform2dChart1.DefinePointVisible = false;
            xtrPerform2dChart1.Dock = DockStyle.Fill;
            xtrPerform2dChart1.LineVisible = false;
            xtrPerform2dChart1.Location = new Point(164, 101);
            xtrPerform2dChart1.Margin = new Padding(1, 1, 1, 1);
            xtrPerform2dChart1.Location = new Point(336, 148);
            xtrPerform2dChart1.Margin = new Padding(1, 2, 1, 2);
            xtrPerform2dChart1.Name = "xtrPerform2dChart1";
            xtrPerform2dChart1.Size = new Size(388, 411);
            xtrPerform2dChart1.Size = new Size(453, 657);
            xtrPerform2dChart1.TabIndex = 1;
            // 
            // sidePanel2
@@ -88,9 +88,8 @@
            sidePanel2.Controls.Add(xhsPumpMainPhartListCtrl1);
            sidePanel2.Dock = DockStyle.Fill;
            sidePanel2.Location = new Point(0, 0);
            sidePanel2.Margin = new Padding(2, 2, 2, 2);
            sidePanel2.Name = "sidePanel2";
            sidePanel2.Size = new Size(163, 388);
            sidePanel2.Size = new Size(335, 623);
            sidePanel2.TabIndex = 4;
            sidePanel2.Text = "sidePanel2";
            // 
@@ -100,18 +99,18 @@
            xhsPumpMainPhartListCtrl1.Appearance.Options.UseBackColor = true;
            xhsPumpMainPhartListCtrl1.Dock = DockStyle.Fill;
            xhsPumpMainPhartListCtrl1.Location = new Point(0, 0);
            xhsPumpMainPhartListCtrl1.Margin = new Padding(6, 8, 6, 8);
            xhsPumpMainPhartListCtrl1.Name = "xhsPumpMainPhartListCtrl1";
            xhsPumpMainPhartListCtrl1.Size = new Size(163, 388);
            xhsPumpMainPhartListCtrl1.Size = new Size(335, 623);
            xhsPumpMainPhartListCtrl1.TabIndex = 0;
            // 
            // sidePanel1
            // 
            sidePanel1.Controls.Add(tabPane1);
            sidePanel1.Dock = DockStyle.Right;
            sidePanel1.Location = new Point(552, 101);
            sidePanel1.Margin = new Padding(2, 2, 2, 2);
            sidePanel1.Location = new Point(789, 148);
            sidePanel1.Name = "sidePanel1";
            sidePanel1.Size = new Size(190, 411);
            sidePanel1.Size = new Size(271, 657);
            sidePanel1.TabIndex = 3;
            sidePanel1.Text = "sidePanel1";
            // 
@@ -121,12 +120,11 @@
            tabPane1.Controls.Add(tabNavigationPage2);
            tabPane1.Dock = DockStyle.Top;
            tabPane1.Location = new Point(1, 0);
            tabPane1.Margin = new Padding(2, 2, 2, 2);
            tabPane1.Name = "tabPane1";
            tabPane1.Pages.AddRange(new DevExpress.XtraBars.Navigation.NavigationPageBase[] { tabNavigationPage1, tabNavigationPage2 });
            tabPane1.RegularSize = new Size(189, 417);
            tabPane1.RegularSize = new Size(270, 655);
            tabPane1.SelectedPage = tabNavigationPage1;
            tabPane1.Size = new Size(189, 417);
            tabPane1.Size = new Size(270, 655);
            tabPane1.TabIndex = 0;
            tabPane1.Text = "tabPane1";
            // 
@@ -134,17 +132,15 @@
            // 
            tabNavigationPage1.Caption = "运行参数";
            tabNavigationPage1.Controls.Add(simpleButton2);
            tabNavigationPage1.Margin = new Padding(2, 2, 2, 2);
            tabNavigationPage1.Name = "tabNavigationPage1";
            tabNavigationPage1.Size = new Size(189, 384);
            tabNavigationPage1.Size = new Size(270, 606);
            // 
            // simpleButton2
            // 
            simpleButton2.Dock = DockStyle.Fill;
            simpleButton2.Location = new Point(0, 0);
            simpleButton2.Margin = new Padding(2, 2, 2, 2);
            simpleButton2.Name = "simpleButton2";
            simpleButton2.Size = new Size(189, 384);
            simpleButton2.Size = new Size(270, 606);
            simpleButton2.TabIndex = 0;
            simpleButton2.Text = "待补充";
            // 
@@ -152,34 +148,35 @@
            // 
            tabNavigationPage2.Caption = "属性";
            tabNavigationPage2.Controls.Add(simpleButton3);
            tabNavigationPage2.Margin = new Padding(2, 2, 2, 2);
            tabNavigationPage2.Name = "tabNavigationPage2";
            tabNavigationPage2.Size = new Size(190, 386);
            tabNavigationPage2.Size = new Size(271, 607);
            // 
            // simpleButton3
            // 
            simpleButton3.Dock = DockStyle.Fill;
            simpleButton3.Location = new Point(0, 0);
            simpleButton3.Margin = new Padding(2, 2, 2, 2);
            simpleButton3.Name = "simpleButton3";
            simpleButton3.Size = new Size(190, 386);
            simpleButton3.Size = new Size(271, 607);
            simpleButton3.TabIndex = 0;
            simpleButton3.Text = "待补充";
            // 
            // ribbonControl1
            // 
            ribbonControl1.EmptyAreaImageOptions.ImagePadding = new Padding(43, 47, 43, 47);
            ribbonControl1.ExpandCollapseItem.Id = 0;
            ribbonControl1.ItemPanelStyle = DevExpress.XtraBars.Ribbon.RibbonItemPanelStyle.Classic;
            ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, BtnAdd, BtnEdit, BtnDelete, barBtnEditPumpCurve, BarBtnEidtPumpPart, barCheckItem1, barBtnImportByExcel, barBtnImportByPicture, barButtonItem3, barButtonItem4, barBtnDelete, barBtnAddText, barBtnUpdateimportance, barBtnOtherName });
            ribbonControl1.Location = new Point(0, 0);
            ribbonControl1.Margin = new Padding(4, 5, 4, 5);
            ribbonControl1.MaxItemId = 31;
            ribbonControl1.Name = "ribbonControl1";
            ribbonControl1.OptionsMenuMinWidth = 471;
            ribbonControl1.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage1 });
            ribbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False;
            ribbonControl1.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.False;
            ribbonControl1.ShowPageHeadersInFormCaption = DevExpress.Utils.DefaultBoolean.False;
            ribbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide;
            ribbonControl1.Size = new Size(742, 101);
            ribbonControl1.Size = new Size(1060, 148);
            ribbonControl1.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Hidden;
            // 
            // BtnAdd
@@ -314,35 +311,33 @@
            dockPanel1.Controls.Add(dockPanel1_Container);
            dockPanel1.Dock = DevExpress.XtraBars.Docking.DockingStyle.Left;
            dockPanel1.ID = new Guid("202c2203-fb3a-4b47-a9cb-083c698bd2ac");
            dockPanel1.Location = new Point(0, 101);
            dockPanel1.Margin = new Padding(2, 2, 2, 2);
            dockPanel1.Location = new Point(0, 148);
            dockPanel1.Name = "dockPanel1";
            dockPanel1.OriginalSize = new Size(235, 200);
            dockPanel1.Size = new Size(164, 411);
            dockPanel1.Size = new Size(336, 657);
            dockPanel1.Text = "曲线列表";
            // 
            // dockPanel1_Container
            // 
            dockPanel1_Container.Controls.Add(sidePanel2);
            dockPanel1_Container.Location = new Point(0, 23);
            dockPanel1_Container.Margin = new Padding(2, 2, 2, 2);
            dockPanel1_Container.Location = new Point(0, 34);
            dockPanel1_Container.Name = "dockPanel1_Container";
            dockPanel1_Container.Size = new Size(163, 388);
            dockPanel1_Container.Size = new Size(335, 623);
            dockPanel1_Container.TabIndex = 0;
            // 
            // XhsPumpMainPhartPanel
            // 
            Appearance.BackColor = SystemColors.Control;
            Appearance.Options.UseBackColor = true;
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleDimensions = new SizeF(10F, 22F);
            AutoScaleMode = AutoScaleMode.Font;
            Controls.Add(xtrPerform2dChart1);
            Controls.Add(sidePanel1);
            Controls.Add(dockPanel1);
            Controls.Add(ribbonControl1);
            Margin = new Padding(4, 5, 4, 5);
            Margin = new Padding(6, 8, 6, 8);
            Name = "XhsPumpMainPhartPanel";
            Size = new Size(742, 512);
            Size = new Size(1060, 805);
            sidePanel2.ResumeLayout(false);
            sidePanel1.ResumeLayout(false);
            ((System.ComponentModel.ISupportInitialize)tabPane1).EndInit();
WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/HomeXhsProjectPage.Designer.cs
@@ -37,14 +37,9 @@
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            layoutView1 = new DevExpress.XtraGrid.Views.Layout.LayoutView();
            colName = new DevExpress.XtraGrid.Columns.LayoutViewColumn();
            layoutViewField_layoutViewColumn1 = new DevExpress.XtraGrid.Views.Layout.LayoutViewField();
            colCount = new DevExpress.XtraGrid.Columns.LayoutViewColumn();
            layoutViewField_layoutViewColumn1_1 = new DevExpress.XtraGrid.Views.Layout.LayoutViewField();
            colPicture = new DevExpress.XtraGrid.Columns.LayoutViewColumn();
            repPicEdit = new DevExpress.XtraEditors.Repository.RepositoryItemPictureEdit();
            layoutViewField_layoutViewColumn2 = new DevExpress.XtraGrid.Views.Layout.LayoutViewField();
            layoutViewCard1 = new DevExpress.XtraGrid.Views.Layout.LayoutViewCard();
            Group1 = new DevExpress.XtraLayout.LayoutControlGroup();
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            sidePanelBottom = new DevExpress.XtraEditors.SidePanel();
            dockPanelFill = new DevExpress.XtraBars.Docking.DockPanel();
@@ -54,16 +49,15 @@
            dockPanelLeft = new DevExpress.XtraBars.Docking.DockPanel();
            dockPanel1_Container = new DevExpress.XtraBars.Docking.ControlContainer();
            dockManager1 = new DevExpress.XtraBars.Docking.DockManager(components);
            layoutViewCard1 = new DevExpress.XtraGrid.Views.Layout.LayoutViewCard();
            layoutViewField_colCount = new DevExpress.XtraGrid.Views.Layout.LayoutViewField();
            layoutViewField_colPicture = new DevExpress.XtraGrid.Views.Layout.LayoutViewField();
            layoutViewField_colName = new DevExpress.XtraGrid.Views.Layout.LayoutViewField();
            ((ISupportInitialize)svgImg32).BeginInit();
            sidePanel1.SuspendLayout();
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)layoutView1).BeginInit();
            ((ISupportInitialize)layoutViewField_layoutViewColumn1).BeginInit();
            ((ISupportInitialize)layoutViewField_layoutViewColumn1_1).BeginInit();
            ((ISupportInitialize)repPicEdit).BeginInit();
            ((ISupportInitialize)layoutViewField_layoutViewColumn2).BeginInit();
            ((ISupportInitialize)layoutViewCard1).BeginInit();
            ((ISupportInitialize)Group1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            sidePanelBottom.SuspendLayout();
            dockPanelFill.SuspendLayout();
@@ -73,6 +67,10 @@
            dockPanelLeft.SuspendLayout();
            dockPanel1_Container.SuspendLayout();
            ((ISupportInitialize)dockManager1).BeginInit();
            ((ISupportInitialize)layoutViewCard1).BeginInit();
            ((ISupportInitialize)layoutViewField_colCount).BeginInit();
            ((ISupportInitialize)layoutViewField_colPicture).BeginInit();
            ((ISupportInitialize)layoutViewField_colName).BeginInit();
            SuspendLayout();
            // 
            // mapViewProjectListContainer1
@@ -137,9 +135,15 @@
            // 
            // layoutView1
            // 
            layoutView1.Appearance.Card.BackColor = Color.Transparent;
            layoutView1.Appearance.Card.Options.UseBackColor = true;
            layoutView1.Appearance.FieldCaption.BackColor = Color.Transparent;
            layoutView1.Appearance.FieldCaption.Options.UseBackColor = true;
            layoutView1.Appearance.FieldValue.BackColor = Color.Transparent;
            layoutView1.Appearance.FieldValue.Options.UseBackColor = true;
            layoutView1.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
            layoutView1.CardHorzInterval = 4;
            layoutView1.CardMinSize = new Size(356, 94);
            layoutView1.CardMinSize = new Size(300, 109);
            layoutView1.CardVertInterval = 0;
            layoutView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.LayoutViewColumn[] { colName, colCount, colPicture });
            layoutView1.GridControl = gridControl1;
@@ -170,22 +174,10 @@
            colName.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            colName.Caption = "名称";
            colName.FieldName = "Name";
            colName.LayoutViewField = layoutViewField_layoutViewColumn1;
            colName.LayoutViewField = layoutViewField_colName;
            colName.MinWidth = 30;
            colName.Name = "colName";
            colName.Width = 112;
            //
            // layoutViewField_layoutViewColumn1
            //
            layoutViewField_layoutViewColumn1.ContentHorzAlignment = DevExpress.Utils.HorzAlignment.Center;
            layoutViewField_layoutViewColumn1.ContentVertAlignment = DevExpress.Utils.VertAlignment.Center;
            layoutViewField_layoutViewColumn1.EditorPreferredWidth = 173;
            layoutViewField_layoutViewColumn1.Location = new Point(0, 0);
            layoutViewField_layoutViewColumn1.Name = "layoutViewField_layoutViewColumn1";
            layoutViewField_layoutViewColumn1.Padding = new DevExpress.XtraLayout.Utils.Padding(4, 4, 4, 4);
            layoutViewField_layoutViewColumn1.Size = new Size(181, 36);
            layoutViewField_layoutViewColumn1.TextSize = new Size(0, 0);
            layoutViewField_layoutViewColumn1.TextVisible = false;
            // 
            // colCount
            // 
@@ -196,29 +188,17 @@
            colCount.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            colCount.Caption = "数量";
            colCount.FieldName = "Count";
            colCount.LayoutViewField = layoutViewField_layoutViewColumn1_1;
            colCount.LayoutViewField = layoutViewField_colCount;
            colCount.MinWidth = 30;
            colCount.Name = "colCount";
            colCount.Width = 112;
            //
            // layoutViewField_layoutViewColumn1_1
            //
            layoutViewField_layoutViewColumn1_1.ContentHorzAlignment = DevExpress.Utils.HorzAlignment.Center;
            layoutViewField_layoutViewColumn1_1.ContentVertAlignment = DevExpress.Utils.VertAlignment.Center;
            layoutViewField_layoutViewColumn1_1.EditorPreferredWidth = 173;
            layoutViewField_layoutViewColumn1_1.Location = new Point(0, 36);
            layoutViewField_layoutViewColumn1_1.Name = "layoutViewField_layoutViewColumn1_1";
            layoutViewField_layoutViewColumn1_1.Padding = new DevExpress.XtraLayout.Utils.Padding(4, 4, 4, 4);
            layoutViewField_layoutViewColumn1_1.Size = new Size(181, 36);
            layoutViewField_layoutViewColumn1_1.TextSize = new Size(0, 0);
            layoutViewField_layoutViewColumn1_1.TextVisible = false;
            // 
            // colPicture
            // 
            colPicture.Caption = "图片";
            colPicture.ColumnEdit = repPicEdit;
            colPicture.FieldName = "Image";
            colPicture.LayoutViewField = layoutViewField_layoutViewColumn2;
            colPicture.LayoutViewField = layoutViewField_colPicture;
            colPicture.MinWidth = 30;
            colPicture.Name = "colPicture";
            colPicture.Width = 112;
@@ -226,42 +206,6 @@
            // repPicEdit
            // 
            repPicEdit.Name = "repPicEdit";
            //
            // layoutViewField_layoutViewColumn2
            //
            layoutViewField_layoutViewColumn2.EditorPreferredWidth = 145;
            layoutViewField_layoutViewColumn2.Location = new Point(0, 0);
            layoutViewField_layoutViewColumn2.Name = "layoutViewField_layoutViewColumn2";
            layoutViewField_layoutViewColumn2.Padding = new DevExpress.XtraLayout.Utils.Padding(4, 4, 4, 4);
            layoutViewField_layoutViewColumn2.Size = new Size(153, 86);
            layoutViewField_layoutViewColumn2.TextSize = new Size(0, 0);
            layoutViewField_layoutViewColumn2.TextVisible = false;
            //
            // layoutViewCard1
            //
            layoutViewCard1.CustomizationFormText = "TemplateCard";
            layoutViewCard1.GroupBordersVisible = false;
            layoutViewCard1.GroupStyle = DevExpress.Utils.GroupStyle.Light;
            layoutViewCard1.HeaderButtonsLocation = DevExpress.Utils.GroupElementLocation.AfterText;
            layoutViewCard1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutViewField_layoutViewColumn2, Group1 });
            layoutViewCard1.Name = "layoutViewCard1";
            layoutViewCard1.OptionsItemText.TextToControlDistance = 3;
            layoutViewCard1.Padding = new DevExpress.XtraLayout.Utils.Padding(4, 4, 4, 4);
            layoutViewCard1.Text = "TemplateCard";
            //
            // Group1
            //
            Group1.CustomizationFormText = "Group1";
            Group1.GroupStyle = DevExpress.Utils.GroupStyle.Title;
            Group1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutViewField_layoutViewColumn1_1, layoutViewField_layoutViewColumn1 });
            Group1.Location = new Point(153, 0);
            Group1.Name = "Group1";
            Group1.OptionsItemText.TextToControlDistance = 3;
            Group1.Padding = new DevExpress.XtraLayout.Utils.Padding(6, 6, 6, 6);
            Group1.Size = new Size(195, 86);
            Group1.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
            Group1.TextLocation = DevExpress.Utils.Locations.Default;
            Group1.TextVisible = false;
            // 
            // gridView1
            // 
@@ -352,6 +296,53 @@
            dockManager1.Style = DevExpress.XtraBars.Docking2010.Views.DockingViewStyle.Light;
            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" });
            // 
            // layoutViewCard1
            //
            layoutViewCard1.CustomizationFormText = "TemplateCard";
            layoutViewCard1.GroupBordersVisible = false;
            layoutViewCard1.GroupStyle = DevExpress.Utils.GroupStyle.Light;
            layoutViewCard1.HeaderButtonsLocation = DevExpress.Utils.GroupElementLocation.AfterText;
            layoutViewCard1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutViewField_colCount, layoutViewField_colPicture, layoutViewField_colName });
            layoutViewCard1.Name = "layoutViewCard1";
            layoutViewCard1.OptionsItemText.TextToControlDistance = 3;
            layoutViewCard1.Padding = new DevExpress.XtraLayout.Utils.Padding(4, 4, 4, 4);
            layoutViewCard1.Text = "TemplateCard";
            //
            // layoutViewField_colCount
            //
            layoutViewField_colCount.ContentHorzAlignment = DevExpress.Utils.HorzAlignment.Center;
            layoutViewField_colCount.ContentVertAlignment = DevExpress.Utils.VertAlignment.Center;
            layoutViewField_colCount.EditorPreferredWidth = 151;
            layoutViewField_colCount.Location = new Point(133, 36);
            layoutViewField_colCount.Name = "layoutViewField_colCount";
            layoutViewField_colCount.Padding = new DevExpress.XtraLayout.Utils.Padding(4, 4, 4, 4);
            layoutViewField_colCount.Size = new Size(159, 65);
            layoutViewField_colCount.TextSize = new Size(0, 0);
            layoutViewField_colCount.TextVisible = false;
            //
            // layoutViewField_colPicture
            //
            layoutViewField_colPicture.EditorPreferredWidth = 125;
            layoutViewField_colPicture.Location = new Point(0, 0);
            layoutViewField_colPicture.Name = "layoutViewField_colPicture";
            layoutViewField_colPicture.Padding = new DevExpress.XtraLayout.Utils.Padding(4, 4, 4, 4);
            layoutViewField_colPicture.Size = new Size(133, 101);
            layoutViewField_colPicture.StartNewLine = true;
            layoutViewField_colPicture.TextSize = new Size(0, 0);
            layoutViewField_colPicture.TextVisible = false;
            //
            // layoutViewField_colName
            //
            layoutViewField_colName.ContentHorzAlignment = DevExpress.Utils.HorzAlignment.Center;
            layoutViewField_colName.ContentVertAlignment = DevExpress.Utils.VertAlignment.Center;
            layoutViewField_colName.EditorPreferredWidth = 151;
            layoutViewField_colName.Location = new Point(133, 0);
            layoutViewField_colName.Name = "layoutViewField_colName";
            layoutViewField_colName.Padding = new DevExpress.XtraLayout.Utils.Padding(4, 4, 4, 4);
            layoutViewField_colName.Size = new Size(159, 36);
            layoutViewField_colName.TextSize = new Size(0, 0);
            layoutViewField_colName.TextVisible = false;
            //
            // HomeXhsProjectPage
            // 
            Appearance.BackColor = SystemColors.Control;
@@ -367,12 +358,7 @@
            sidePanel1.ResumeLayout(false);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)layoutView1).EndInit();
            ((ISupportInitialize)layoutViewField_layoutViewColumn1).EndInit();
            ((ISupportInitialize)layoutViewField_layoutViewColumn1_1).EndInit();
            ((ISupportInitialize)repPicEdit).EndInit();
            ((ISupportInitialize)layoutViewField_layoutViewColumn2).EndInit();
            ((ISupportInitialize)layoutViewCard1).EndInit();
            ((ISupportInitialize)Group1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            sidePanelBottom.ResumeLayout(false);
            dockPanelFill.ResumeLayout(false);
@@ -382,6 +368,10 @@
            dockPanelLeft.ResumeLayout(false);
            dockPanel1_Container.ResumeLayout(false);
            ((ISupportInitialize)dockManager1).EndInit();
            ((ISupportInitialize)layoutViewCard1).EndInit();
            ((ISupportInitialize)layoutViewField_colCount).EndInit();
            ((ISupportInitialize)layoutViewField_colPicture).EndInit();
            ((ISupportInitialize)layoutViewField_colName).EndInit();
            ResumeLayout(false);
        }
@@ -406,10 +396,9 @@
        private DevExpress.XtraBars.Docking.ControlContainer controlContainer1;
        private DevExpress.XtraBars.Docking.DockPanel dockPanelFill;
        private DevExpress.XtraBars.Docking.ControlContainer controlContainer2;
        private DevExpress.XtraGrid.Views.Layout.LayoutViewField layoutViewField_layoutViewColumn1;
        private DevExpress.XtraGrid.Views.Layout.LayoutViewField layoutViewField_layoutViewColumn1_1;
        private DevExpress.XtraGrid.Views.Layout.LayoutViewField layoutViewField_layoutViewColumn2;
        private DevExpress.XtraGrid.Views.Layout.LayoutViewField layoutViewField_colName;
        private DevExpress.XtraGrid.Views.Layout.LayoutViewField layoutViewField_colCount;
        private DevExpress.XtraGrid.Views.Layout.LayoutViewField layoutViewField_colPicture;
        private DevExpress.XtraGrid.Views.Layout.LayoutViewCard layoutViewCard1;
        private DevExpress.XtraLayout.LayoutControlGroup Group1;
    }
}
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/00-core/01-xtr-ele/01-base/XtrBase.cs
@@ -20,7 +20,7 @@
        /// <summary>
        /// å¯è§æ€§
        /// </summary>
        public bool Visible { get; set; }
        public bool Visible { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/00-core/01-xtr-ele/01-base/XtrBorder.cs
@@ -15,6 +15,6 @@
        /// <summary>
        /// å¯è§æ€§
        /// </summary>
        public bool Visible { get; set; }
        public DevExpress.Utils.DefaultBoolean Visibility { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/00-core/01-xtr-ele/01-base/XtrLegend.cs
@@ -15,7 +15,7 @@
        /// <summary>
        /// å›¾ä¾‹å†…容的对齐方式
        /// </summary>
        public DevExpress.XtraCharts.LegendAlignmentHorizontal ContentAlignment { get; set; }
        public DevExpress.XtraCharts.LegendAlignmentHorizontal AlignmentHorizontal { get; set; }
        /// <summary>
        /// å›¾ä¾‹å†…容的对齐方式
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/00-core/01-xtr-ele/05-annotation/XtrTextAnnotation.cs
@@ -1,4 +1,4 @@
namespace Yw.WinFrmUI.Phart.Core
namespace Yw.WinFrmUI.Phart
{
    public class XtrTextAnnotation : XtrBase
    {
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/00-core/02-/XtrPerformCurveDiagram2d.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
using DevExpress.Utils;
using DevExpress.XtraCharts;
namespace Yw.WinFrmUI.Phart
{
    public class XtrPerformCurveDiagram2d
    {
        /// <summary>
        /// å¯ç”¨åå­—准心
        /// </summary>
        public DefaultBoolean CrosshairEnabled { get; set; }
        /// <summary>
        /// ç³»åˆ—选择模式
        /// </summary>
        public SeriesSelectionMode SeriesSelectionMode { get; set; }
        /// <summary>
        /// é»˜è®¤é¢æ¿
        /// </summary>
        public XtrPane DefaultPane { get; set; }
        /// <summary>
        /// ç¬¬äºŒå—面板
        /// </summary>
        public XtrPane SecondPanel { get; set; }
        /// <summary>
        /// å›¾ä¾‹
        /// </summary>
        public XtrLegend Legend { get; set; }
        /// <summary>
        /// æµé‡è½´
        /// </summary>
        public XtrAxis AxisQ { get; set; }
        /// <summary>
        /// æ‰¬ç¨‹è½´
        /// </summary>
        public XtrAxis AxisH { get; set; }
        /// <summary>
        /// åŠŸçŽ‡è½´
        /// </summary>
        public XtrAxis AxisP { get; set; }
        /// <summary>
        /// æ•ˆçŽ‡è½´
        /// </summary>
        public XtrAxis AxisE { get; set; }
        /// <summary>
        /// æ–‡æœ¬æ³¨é‡Šåˆ—表
        /// </summary>
        public List<XtrTextAnnotation> TextAnnotations { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-chart/01-chart/XtrPerform2dChartUpdate.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,472 @@
namespace Yw.WinFrmUI.Phart
{
    partial class XtrPerform2dChartUpdate
    {
        /// <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()
        {
            this.components = new System.ComponentModel.Container();
            DevExpress.XtraCharts.TextAnnotation textAnnotation1 = new DevExpress.XtraCharts.TextAnnotation();
            DevExpress.XtraCharts.ChartAnchorPoint chartAnchorPoint1 = new DevExpress.XtraCharts.ChartAnchorPoint();
            DevExpress.XtraCharts.RelativePosition relativePosition1 = new DevExpress.XtraCharts.RelativePosition();
            DevExpress.XtraCharts.XYDiagram xyDiagram1 = new DevExpress.XtraCharts.XYDiagram();
            DevExpress.XtraCharts.ConstantLine constantLine1 = new DevExpress.XtraCharts.ConstantLine();
            DevExpress.XtraCharts.ConstantLine constantLine2 = new DevExpress.XtraCharts.ConstantLine();
            DevExpress.XtraCharts.XYDiagramPane xyDiagramPane1 = new DevExpress.XtraCharts.XYDiagramPane();
            DevExpress.XtraCharts.SecondaryAxisY secondaryAxisY1 = new DevExpress.XtraCharts.SecondaryAxisY();
            DevExpress.XtraCharts.SecondaryAxisY secondaryAxisY2 = new DevExpress.XtraCharts.SecondaryAxisY();
            DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series();
            DevExpress.XtraCharts.SplineSeriesView splineSeriesView1 = new DevExpress.XtraCharts.SplineSeriesView();
            DevExpress.XtraCharts.Series series2 = new DevExpress.XtraCharts.Series();
            DevExpress.XtraCharts.SplineSeriesView splineSeriesView2 = new DevExpress.XtraCharts.SplineSeriesView();
            DevExpress.XtraCharts.Series series3 = new DevExpress.XtraCharts.Series();
            DevExpress.XtraCharts.SplineSeriesView splineSeriesView3 = new DevExpress.XtraCharts.SplineSeriesView();
            DevExpress.XtraCharts.Series series4 = new DevExpress.XtraCharts.Series();
            DevExpress.XtraCharts.PointSeriesView pointSeriesView1 = new DevExpress.XtraCharts.PointSeriesView();
            DevExpress.XtraCharts.Series series5 = new DevExpress.XtraCharts.Series();
            DevExpress.XtraCharts.PointSeriesView pointSeriesView2 = new DevExpress.XtraCharts.PointSeriesView();
            DevExpress.XtraCharts.Series series6 = new DevExpress.XtraCharts.Series();
            DevExpress.XtraCharts.PointSeriesView pointSeriesView3 = new DevExpress.XtraCharts.PointSeriesView();
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(XtrPerform2dChart));
            this.chartControl1 = new DevExpress.XtraCharts.ChartControl();
            this.popMenuChart = new DevExpress.XtraBars.PopupMenu(this.components);
            this.barBtnSetChartAxis = new DevExpress.XtraBars.BarButtonItem();
            this.barCekLineVisible = new DevExpress.XtraBars.BarCheckItem();
            this.barCekDefinePointVisible = new DevExpress.XtraBars.BarCheckItem();
            this.barCekSetSplitPanel = new DevExpress.XtraBars.BarCheckItem();
            this.barCekSetAxisNameVisible = new DevExpress.XtraBars.BarCheckItem();
            this.barCekLegendVisible = new DevExpress.XtraBars.BarCheckItem();
            this.barCekChartDisplay = new DevExpress.XtraBars.BarCheckItem();
            this.barBtnSetChartEquation = new DevExpress.XtraBars.BarButtonItem();
            this.barBtnExportXls = new DevExpress.XtraBars.BarButtonItem();
            this.barBtnExportImage = new DevExpress.XtraBars.BarButtonItem();
            this.barManager1 = new DevExpress.XtraBars.BarManager(this.components);
            this.barDockControlTop = new DevExpress.XtraBars.BarDockControl();
            this.barDockControlBottom = new DevExpress.XtraBars.BarDockControl();
            this.barDockControlLeft = new DevExpress.XtraBars.BarDockControl();
            this.barDockControlRight = new DevExpress.XtraBars.BarDockControl();
            this.barBtnPositioningMaxQ = new DevExpress.XtraBars.BarButtonItem();
            this.barBtnPositioningMaxE = new DevExpress.XtraBars.BarButtonItem();
            this.barBtnSetAxisQValue = new DevExpress.XtraBars.BarButtonItem();
            this.barBtnSetAxisHValue = new DevExpress.XtraBars.BarButtonItem();
            this.popMenuLine = new DevExpress.XtraBars.PopupMenu(this.components);
            ((System.ComponentModel.ISupportInitialize)(this.chartControl1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(textAnnotation1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(xyDiagram1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(xyDiagramPane1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(secondaryAxisY1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(secondaryAxisY2)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(series1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(splineSeriesView1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(series2)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(splineSeriesView2)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(series3)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(splineSeriesView3)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(series4)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(pointSeriesView1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(series5)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(pointSeriesView2)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(series6)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(pointSeriesView3)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.popMenuChart)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.barManager1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.popMenuLine)).BeginInit();
            this.SuspendLayout();
            //
            // chartControl1
            //
            chartAnchorPoint1.X = 871;
            chartAnchorPoint1.Y = 783;
            textAnnotation1.AnchorPoint = chartAnchorPoint1;
            textAnnotation1.AutoHeight = true;
            textAnnotation1.AutoWidth = true;
            textAnnotation1.Name = "TextAnnoWorkPoint";
            relativePosition1.Angle = -205.38790629109593D;
            relativePosition1.ConnectorLength = 65.30696746902278D;
            textAnnotation1.ShapePosition = relativePosition1;
            textAnnotation1.Text = "工作点";
            textAnnotation1.TextAlignment = System.Drawing.StringAlignment.Near;
            this.chartControl1.AnnotationRepository.AddRange(new DevExpress.XtraCharts.Annotation[] {
            textAnnotation1});
            this.chartControl1.BorderOptions.Visibility = DevExpress.Utils.DefaultBoolean.False;
            constantLine1.AxisValueSerializable = "1";
            constantLine1.LineStyle.LineJoin = System.Drawing.Drawing2D.LineJoin.Miter;
            constantLine1.LineStyle.Thickness = 2;
            constantLine1.Name = "WorkPointLine";
            constantLine1.Title.DXFont = new DevExpress.Drawing.DXFont("Tahoma", 8F);
            constantLine1.Title.Text = "工作点";
            xyDiagram1.AxisX.ConstantLines.AddRange(new DevExpress.XtraCharts.ConstantLine[] {
            constantLine1});
            xyDiagram1.AxisX.Title.Text = "流量 ï¼ˆm³/h)";
            xyDiagram1.AxisX.Title.Visibility = DevExpress.Utils.DefaultBoolean.Default;
            xyDiagram1.AxisX.VisibleInPanesSerializable = "-1";
            xyDiagram1.AxisY.Color = System.Drawing.Color.DodgerBlue;
            constantLine2.AxisValueSerializable = "1";
            constantLine2.LineStyle.LineJoin = System.Drawing.Drawing2D.LineJoin.Miter;
            constantLine2.LineStyle.Thickness = 2;
            constantLine2.Name = "WorkHLine";
            constantLine2.Title.Text = "扬程";
            xyDiagram1.AxisY.ConstantLines.AddRange(new DevExpress.XtraCharts.ConstantLine[] {
            constantLine2});
            xyDiagram1.AxisY.Label.TextColor = System.Drawing.Color.DodgerBlue;
            xyDiagram1.AxisY.Title.Alignment = System.Drawing.StringAlignment.Far;
            xyDiagram1.AxisY.Title.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.False;
            xyDiagram1.AxisY.Title.Text = "扬程/m";
            xyDiagram1.AxisY.Title.TextColor = System.Drawing.Color.DodgerBlue;
            xyDiagram1.AxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.True;
            xyDiagram1.AxisY.VisibleInPanesSerializable = "-1";
            xyDiagram1.DefaultPane.BorderVisible = false;
            xyDiagram1.DefaultPane.Title.Text = "无数据";
            xyDiagramPane1.Name = "BottomPanel";
            xyDiagramPane1.PaneID = 0;
            xyDiagramPane1.Visibility = DevExpress.XtraCharts.ChartElementVisibility.Hidden;
            xyDiagram1.Panes.AddRange(new DevExpress.XtraCharts.XYDiagramPane[] {
            xyDiagramPane1});
            secondaryAxisY1.AxisID = 0;
            secondaryAxisY1.Color = System.Drawing.Color.Green;
            secondaryAxisY1.Label.Border.Visibility = DevExpress.Utils.DefaultBoolean.False;
            secondaryAxisY1.Label.TextColor = System.Drawing.Color.Green;
            secondaryAxisY1.Name = "AxisYQE";
            secondaryAxisY1.Title.Text = "效率/%";
            secondaryAxisY1.Title.TextColor = System.Drawing.Color.Green;
            secondaryAxisY1.Title.Visibility = DevExpress.Utils.DefaultBoolean.Default;
            secondaryAxisY1.VisibleInPanesSerializable = "-1";
            secondaryAxisY2.AxisID = 1;
            secondaryAxisY2.Label.Border.Visibility = DevExpress.Utils.DefaultBoolean.False;
            secondaryAxisY2.Label.TextColor = System.Drawing.Color.Crimson;
            secondaryAxisY2.Name = "AxisYQP";
            secondaryAxisY2.NumericScaleOptions.AutoGrid = false;
            secondaryAxisY2.NumericScaleOptions.GridSpacing = 2D;
            secondaryAxisY2.Title.Alignment = System.Drawing.StringAlignment.Near;
            secondaryAxisY2.Title.Text = "功率/kW";
            secondaryAxisY2.Title.TextColor = System.Drawing.Color.Crimson;
            secondaryAxisY2.Title.Visibility = DevExpress.Utils.DefaultBoolean.Default;
            secondaryAxisY2.VisibleInPanesSerializable = "-1";
            xyDiagram1.SecondaryAxesY.AddRange(new DevExpress.XtraCharts.SecondaryAxisY[] {
            secondaryAxisY1,
            secondaryAxisY2});
            this.chartControl1.Diagram = xyDiagram1;
            this.chartControl1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.chartControl1.Legend.AlignmentHorizontal = DevExpress.XtraCharts.LegendAlignmentHorizontal.Right;
            this.chartControl1.Legend.Border.Visibility = DevExpress.Utils.DefaultBoolean.False;
            this.chartControl1.Legend.Direction = DevExpress.XtraCharts.LegendDirection.LeftToRight;
            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 = "SeriesCurveQH";
            splineSeriesView1.Color = System.Drawing.Color.DodgerBlue;
            series1.View = splineSeriesView1;
            series2.Name = "SeriesCurveQE";
            splineSeriesView2.AxisYName = "AxisYQE";
            splineSeriesView2.Color = System.Drawing.Color.Green;
            series2.View = splineSeriesView2;
            series3.Name = "SeriesCurveQP";
            splineSeriesView3.AxisYName = "AxisYQP";
            splineSeriesView3.Color = System.Drawing.Color.Crimson;
            series3.View = splineSeriesView3;
            series4.Name = "SeriesPointQH";
            pointSeriesView1.Color = System.Drawing.Color.DodgerBlue;
            series4.View = pointSeriesView1;
            series5.Name = "SeriesPointQE";
            pointSeriesView2.AxisYName = "AxisYQE";
            pointSeriesView2.Color = System.Drawing.Color.Green;
            series5.View = pointSeriesView2;
            series6.Name = "SeriesPointQP";
            pointSeriesView3.AxisYName = "AxisYQP";
            pointSeriesView3.Color = System.Drawing.Color.Crimson;
            series6.View = pointSeriesView3;
            this.chartControl1.SeriesSerializable = new DevExpress.XtraCharts.Series[] {
        series1,
        series2,
        series3,
        series4,
        series5,
        series6};
            this.chartControl1.Size = new System.Drawing.Size(1023, 857);
            this.chartControl1.TabIndex = 0;
            //
            // popMenuChart
            //
            this.popMenuChart.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
            new DevExpress.XtraBars.LinkPersistInfo(this.barBtnSetChartAxis),
            new DevExpress.XtraBars.LinkPersistInfo(this.barCekLineVisible, true),
            new DevExpress.XtraBars.LinkPersistInfo(this.barCekDefinePointVisible),
            new DevExpress.XtraBars.LinkPersistInfo(this.barCekSetSplitPanel),
            new DevExpress.XtraBars.LinkPersistInfo(this.barCekSetAxisNameVisible),
            new DevExpress.XtraBars.LinkPersistInfo(this.barCekLegendVisible),
            new DevExpress.XtraBars.LinkPersistInfo(this.barCekChartDisplay),
            new DevExpress.XtraBars.LinkPersistInfo(this.barBtnSetChartEquation, true),
            new DevExpress.XtraBars.LinkPersistInfo(this.barBtnExportXls),
            new DevExpress.XtraBars.LinkPersistInfo(this.barBtnExportImage)});
            this.popMenuChart.Manager = this.barManager1;
            this.popMenuChart.Name = "popMenuChart";
            //
            // barBtnSetChartAxis
            //
            this.barBtnSetChartAxis.Caption = "修改坐标";
            this.barBtnSetChartAxis.Id = 0;
            this.barBtnSetChartAxis.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barBtnSetChartAxis.ImageOptions.SvgImage")));
            this.barBtnSetChartAxis.Name = "barBtnSetChartAxis";
            this.barBtnSetChartAxis.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.barBtnSetChartAxis_ItemClick);
            //
            // barCekLineVisible
            //
            this.barCekLineVisible.Caption = "工作点";
            this.barCekLineVisible.Id = 9;
            this.barCekLineVisible.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barCekLineVisible.ImageOptions.SvgImage")));
            this.barCekLineVisible.Name = "barCekLineVisible";
            this.barCekLineVisible.CheckedChanged += new DevExpress.XtraBars.ItemClickEventHandler(this.barCekLineVisible_CheckedChanged);
            //
            // barCekDefinePointVisible
            //
            this.barCekDefinePointVisible.BindableChecked = true;
            this.barCekDefinePointVisible.Caption = "定义点";
            this.barCekDefinePointVisible.Checked = true;
            this.barCekDefinePointVisible.Id = 7;
            this.barCekDefinePointVisible.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barCekDefinePointVisible.ImageOptions.SvgImage")));
            this.barCekDefinePointVisible.Name = "barCekDefinePointVisible";
            this.barCekDefinePointVisible.CheckedChanged += new DevExpress.XtraBars.ItemClickEventHandler(this.barCekDefinePointVisible_CheckedChanged);
            //
            // barCekSetSplitPanel
            //
            this.barCekSetSplitPanel.Caption = "分割板";
            this.barCekSetSplitPanel.Id = 16;
            this.barCekSetSplitPanel.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barCekSetSplitPanel.ImageOptions.SvgImage")));
            this.barCekSetSplitPanel.Name = "barCekSetSplitPanel";
            this.barCekSetSplitPanel.CheckedChanged += new DevExpress.XtraBars.ItemClickEventHandler(this.barCekSetSplitPanel_CheckedChanged);
            //
            // barCekSetAxisNameVisible
            //
            this.barCekSetAxisNameVisible.BindableChecked = true;
            this.barCekSetAxisNameVisible.Caption = "轴名称";
            this.barCekSetAxisNameVisible.Checked = true;
            this.barCekSetAxisNameVisible.Id = 15;
            this.barCekSetAxisNameVisible.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barCekSetAxisNameVisible.ImageOptions.SvgImage")));
            this.barCekSetAxisNameVisible.Name = "barCekSetAxisNameVisible";
            this.barCekSetAxisNameVisible.CheckedChanged += new DevExpress.XtraBars.ItemClickEventHandler(this.barCekSetAxisNameVisible_CheckedChanged);
            //
            // barCekLegendVisible
            //
            this.barCekLegendVisible.Caption = "图例";
            this.barCekLegendVisible.Id = 10;
            this.barCekLegendVisible.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barCekLegendVisible.ImageOptions.SvgImage")));
            this.barCekLegendVisible.Name = "barCekLegendVisible";
            this.barCekLegendVisible.CheckedChanged += new DevExpress.XtraBars.ItemClickEventHandler(this.barCekLegendVisible_CheckedChanged);
            //
            // barCekChartDisplay
            //
            this.barCekChartDisplay.Caption = "深色模式";
            this.barCekChartDisplay.Id = 2;
            this.barCekChartDisplay.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barCekChartDisplay.ImageOptions.SvgImage")));
            this.barCekChartDisplay.Name = "barCekChartDisplay";
            this.barCekChartDisplay.CheckedChanged += new DevExpress.XtraBars.ItemClickEventHandler(this.barCekChartDisplay_CheckedChanged);
            //
            // barBtnSetChartEquation
            //
            this.barBtnSetChartEquation.Caption = "曲线方程";
            this.barBtnSetChartEquation.Id = 1;
            this.barBtnSetChartEquation.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barBtnSetChartEquation.ImageOptions.SvgImage")));
            this.barBtnSetChartEquation.Name = "barBtnSetChartEquation";
            this.barBtnSetChartEquation.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.barBtnSetChartEquation_ItemClick);
            //
            // barBtnExportXls
            //
            this.barBtnExportXls.Caption = "导出表格";
            this.barBtnExportXls.Id = 3;
            this.barBtnExportXls.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barBtnExportXls.ImageOptions.SvgImage")));
            this.barBtnExportXls.Name = "barBtnExportXls";
            this.barBtnExportXls.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.barBtnExportXls_ItemClick);
            //
            // barBtnExportImage
            //
            this.barBtnExportImage.Caption = "导出图片";
            this.barBtnExportImage.Id = 4;
            this.barBtnExportImage.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barBtnExportImage.ImageOptions.SvgImage")));
            this.barBtnExportImage.Name = "barBtnExportImage";
            this.barBtnExportImage.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.barBtnExportImage_ItemClick);
            //
            // barManager1
            //
            this.barManager1.DockControls.Add(this.barDockControlTop);
            this.barManager1.DockControls.Add(this.barDockControlBottom);
            this.barManager1.DockControls.Add(this.barDockControlLeft);
            this.barManager1.DockControls.Add(this.barDockControlRight);
            this.barManager1.Form = this;
            this.barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] {
            this.barBtnSetChartAxis,
            this.barBtnSetChartEquation,
            this.barCekChartDisplay,
            this.barBtnExportXls,
            this.barBtnExportImage,
            this.barCekDefinePointVisible,
            this.barCekLineVisible,
            this.barCekLegendVisible,
            this.barBtnPositioningMaxQ,
            this.barBtnPositioningMaxE,
            this.barBtnSetAxisQValue,
            this.barBtnSetAxisHValue,
            this.barCekSetAxisNameVisible,
            this.barCekSetSplitPanel});
            this.barManager1.MaxItemId = 17;
            //
            // barDockControlTop
            //
            this.barDockControlTop.CausesValidation = false;
            this.barDockControlTop.Dock = System.Windows.Forms.DockStyle.Top;
            this.barDockControlTop.Location = new System.Drawing.Point(0, 0);
            this.barDockControlTop.Manager = this.barManager1;
            this.barDockControlTop.Size = new System.Drawing.Size(1023, 0);
            //
            // barDockControlBottom
            //
            this.barDockControlBottom.CausesValidation = false;
            this.barDockControlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
            this.barDockControlBottom.Location = new System.Drawing.Point(0, 857);
            this.barDockControlBottom.Manager = this.barManager1;
            this.barDockControlBottom.Size = new System.Drawing.Size(1023, 0);
            //
            // barDockControlLeft
            //
            this.barDockControlLeft.CausesValidation = false;
            this.barDockControlLeft.Dock = System.Windows.Forms.DockStyle.Left;
            this.barDockControlLeft.Location = new System.Drawing.Point(0, 0);
            this.barDockControlLeft.Manager = this.barManager1;
            this.barDockControlLeft.Size = new System.Drawing.Size(0, 857);
            //
            // barDockControlRight
            //
            this.barDockControlRight.CausesValidation = false;
            this.barDockControlRight.Dock = System.Windows.Forms.DockStyle.Right;
            this.barDockControlRight.Location = new System.Drawing.Point(1023, 0);
            this.barDockControlRight.Manager = this.barManager1;
            this.barDockControlRight.Size = new System.Drawing.Size(0, 857);
            //
            // barBtnPositioningMaxQ
            //
            this.barBtnPositioningMaxQ.Caption = "定位最大流量点";
            this.barBtnPositioningMaxQ.Id = 11;
            this.barBtnPositioningMaxQ.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barBtnPositioningMaxQ.ImageOptions.SvgImage")));
            this.barBtnPositioningMaxQ.Name = "barBtnPositioningMaxQ";
            this.barBtnPositioningMaxQ.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.barBtnPositioningMaxQ_ItemClick);
            //
            // barBtnPositioningMaxE
            //
            this.barBtnPositioningMaxE.Caption = "定位最高效率点";
            this.barBtnPositioningMaxE.Id = 12;
            this.barBtnPositioningMaxE.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barBtnPositioningMaxE.ImageOptions.SvgImage")));
            this.barBtnPositioningMaxE.Name = "barBtnPositioningMaxE";
            this.barBtnPositioningMaxE.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.barBtnPositioningMaxE_ItemClick);
            //
            // barBtnSetAxisQValue
            //
            this.barBtnSetAxisQValue.Caption = "定位流量点";
            this.barBtnSetAxisQValue.Id = 13;
            this.barBtnSetAxisQValue.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barBtnSetAxisQValue.ImageOptions.SvgImage")));
            this.barBtnSetAxisQValue.Name = "barBtnSetAxisQValue";
            this.barBtnSetAxisQValue.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.barBtnSetAxisQValue_ItemClick);
            //
            // barBtnSetAxisHValue
            //
            this.barBtnSetAxisHValue.Caption = "定位扬程点";
            this.barBtnSetAxisHValue.Id = 14;
            this.barBtnSetAxisHValue.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barBtnSetAxisHValue.ImageOptions.SvgImage")));
            this.barBtnSetAxisHValue.Name = "barBtnSetAxisHValue";
            this.barBtnSetAxisHValue.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.barBtnSetAxisHValue_ItemClick);
            //
            // popMenuLine
            //
            this.popMenuLine.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
            new DevExpress.XtraBars.LinkPersistInfo(this.barBtnSetAxisQValue),
            new DevExpress.XtraBars.LinkPersistInfo(this.barBtnSetAxisHValue),
            new DevExpress.XtraBars.LinkPersistInfo(this.barBtnPositioningMaxQ, true),
            new DevExpress.XtraBars.LinkPersistInfo(this.barBtnPositioningMaxE)});
            this.popMenuLine.Manager = this.barManager1;
            this.popMenuLine.Name = "popMenuLine";
            //
            // CurveExpressChart
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 22F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.Controls.Add(this.chartControl1);
            this.Controls.Add(this.barDockControlLeft);
            this.Controls.Add(this.barDockControlRight);
            this.Controls.Add(this.barDockControlBottom);
            this.Controls.Add(this.barDockControlTop);
            this.Name = "CurveExpressChart";
            this.Size = new System.Drawing.Size(1023, 857);
            ((System.ComponentModel.ISupportInitialize)(textAnnotation1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(xyDiagramPane1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(secondaryAxisY1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(secondaryAxisY2)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(xyDiagram1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(splineSeriesView1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(series1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(splineSeriesView2)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(series2)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(splineSeriesView3)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(series3)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(pointSeriesView1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(series4)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(pointSeriesView2)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(series5)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(pointSeriesView3)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(series6)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.chartControl1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.popMenuChart)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.barManager1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.popMenuLine)).EndInit();
            this.ResumeLayout(false);
            this.PerformLayout();
        }
        #endregion
        private DevExpress.XtraCharts.ChartControl chartControl1;
        private DevExpress.XtraBars.PopupMenu popMenuChart;
        private DevExpress.XtraBars.BarManager barManager1;
        private DevExpress.XtraBars.BarDockControl barDockControlTop;
        private DevExpress.XtraBars.BarDockControl barDockControlBottom;
        private DevExpress.XtraBars.BarDockControl barDockControlLeft;
        private DevExpress.XtraBars.BarDockControl barDockControlRight;
        private DevExpress.XtraBars.BarButtonItem barBtnSetChartAxis;
        private DevExpress.XtraBars.BarButtonItem barBtnSetChartEquation;
        private DevExpress.XtraBars.BarCheckItem barCekChartDisplay;
        private DevExpress.XtraBars.BarButtonItem barBtnExportXls;
        private DevExpress.XtraBars.BarButtonItem barBtnExportImage;
        private DevExpress.XtraBars.BarCheckItem barCekDefinePointVisible;
        private DevExpress.XtraBars.BarCheckItem barCekLineVisible;
        private DevExpress.XtraBars.BarCheckItem barCekLegendVisible;
        private DevExpress.XtraBars.BarButtonItem barBtnPositioningMaxQ;
        private DevExpress.XtraBars.BarButtonItem barBtnPositioningMaxE;
        private DevExpress.XtraBars.PopupMenu popMenuLine;
        private DevExpress.XtraBars.BarButtonItem barBtnSetAxisQValue;
        private DevExpress.XtraBars.BarButtonItem barBtnSetAxisHValue;
        private DevExpress.XtraBars.BarCheckItem barCekSetAxisNameVisible;
        private DevExpress.XtraBars.BarCheckItem barCekSetSplitPanel;
    }
}
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-chart/01-chart/XtrPerform2dChartUpdate.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1152 @@
using DevExpress.Utils;
using DevExpress.XtraCharts;
using DevExpress.XtraEditors;
using System.Text;
namespace Yw.WinFrmUI.Phart
{
    /// <summary>
    ///
    /// </summary>
    public partial class XtrPerform2dChartUpdate : DevExpress.XtraEditors.XtraUserControl
    {
        public XtrPerform2dChartUpdate()
        {
            InitializeComponent();
            InitialChart();
            this.chartControl1.RuntimeHitTesting = true;
        }
        #region Private Variable
        private XYDiagram _mainChartDiagram;
        private XYDiagramPane _bottomPanel;
        private AxisX _axisXQ;
        private AxisY _axisYQH;
        private SecondaryAxisY _axisYQE, _axisYQP;
        private ConstantLine _workPointLine;
        private ConstantLine _workHLine;
        private Series _seriesCurveQH, _seriesCurveQE, _seriesCurveQP;
        private Series _seriesPointQH, _seriesPointQE, _seriesPointQP;
        private TextAnnotation _workPointTextAnnot;
        private Yw.Geometry.CubicSpline2d _curveExpressQH;
        private Yw.Geometry.CubicSpline2d _curveExpressQE;
        private Yw.Geometry.CubicSpline2d _curveExpressQP;
        private List<Yw.Geometry.Point2d> _curvePointsQH;
        private List<Yw.Geometry.Point2d> _curvePointsQE;
        private List<Yw.Geometry.Point2d> _curvePointsQP;
        private List<Yw.Geometry.Point2d> _definePointsQH;
        private List<Yw.Geometry.Point2d> _definePointsQE;
        private List<Yw.Geometry.Point2d> _definePointsQP;
        private PerformCoordinate _coordinateParas;
        private PerformGroupPoint _workPoint = new PerformGroupPoint(0, 0, 0, 0, 0);
        private bool _initialData = false;
        #endregion
        #region Public Variable
        /// <summary>
        /// å®šä¹‰ç‚¹æ˜¯å¦å¯è§
        /// </summary>
        public bool DefinePointVisible
        {
            get => _definePointVisible;
            set
            {
                _definePointVisible = value;
                this.barCekDefinePointVisible.Checked = _definePointVisible;
            }
        }
        private bool _definePointVisible = false;
        /// <summary>
        /// å·¥ä½œçº¿æ˜¯å¦å¯è§
        /// </summary>
        public bool LineVisible
        {
            get => _lineVisible;
            set
            {
                _lineVisible = value;
                this.barCekLineVisible.Checked = _lineVisible;
            }
        }
        private bool _lineVisible = false;
        #endregion
        #region Public Evnet
        public event Action<PerformCoordinate> OnCurveCoordinateChanged;
        #endregion
        #region Initial
        /// <summary>
        /// åˆå§‹åŒ–图表
        /// </summary>
        private void InitialChart()
        {
            this.chartControl1.SetChartDisplay();
            this.chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
            _mainChartDiagram = (XYDiagram)chartControl1.Diagram;
            _bottomPanel = (XYDiagramPane)_mainChartDiagram.FindPaneByName("BottomPanel");
            _axisXQ = _mainChartDiagram.AxisX;
            _axisXQ.SetAxisXQDisplay();
            _axisYQH = _mainChartDiagram.AxisY;
            _axisYQH.SetAxisYQHDisplay();
            _axisYQE = _mainChartDiagram.SecondaryAxesY.GetAxisByName("AxisYQE");
            _axisYQE.SetSecondaryAxisYQEDisplay();
            _axisYQP = _mainChartDiagram.SecondaryAxesY.GetAxisByName("AxisYQP");
            _axisYQP.SetSecondaryAxisYQPDisplay();
            _workPointLine = (ConstantLine)_mainChartDiagram.AxisX.ConstantLines.GetElementByName("WorkPointLine");
            _workPointLine.SetWorkPointLineDisplay();
            _workHLine = (ConstantLine)_mainChartDiagram.AxisY.ConstantLines.GetElementByName("WorkHLine");
            _workHLine.SetWorkHLineDisplay();
            _seriesCurveQH = this.chartControl1.GetSeriesByName("SeriesCurveQH");
            _seriesCurveQH.SetCurveQHDisplay();
            _seriesCurveQE = this.chartControl1.GetSeriesByName("SeriesCurveQE");
            _seriesCurveQE.SetCurveQEDisplay();
            _seriesCurveQP = this.chartControl1.GetSeriesByName("SeriesCurveQP");
            _seriesCurveQP.SetCurveQPDisplay();
            _seriesPointQH = this.chartControl1.GetSeriesByName("SeriesPointQH");
            _seriesPointQH.SetPointQHDisplay();
            _seriesPointQE = this.chartControl1.GetSeriesByName("SeriesPointQE");
            _seriesPointQE.SetPointQEDisplay();
            _seriesPointQP = this.chartControl1.GetSeriesByName("SeriesPointQP");
            _seriesPointQP.SetPointQPDisplay();
            _workPointTextAnnot = this.chartControl1.AnnotationRepository[0] as TextAnnotation;
            _workPointTextAnnot.SetTextAnnoWorkPointDisplay();
            _axisXQ.Visibility = DefaultBoolean.False;
            _axisXQ.GridLines.Visible = false;
            _axisYQH.Visibility = DefaultBoolean.False;
            _axisYQH.GridLines.Visible = false;
            _axisYQE.Visibility = DefaultBoolean.False;
            _axisYQE.GridLines.Visible = false;
            _axisYQP.Visibility = DefaultBoolean.False;
            _axisYQP.GridLines.Visible = false;
            _workPointLine.Visible = false;
            _workHLine.Visible = false;
            _workPointTextAnnot.Visible = false;
            _seriesPointQH.Visible = false;
            _seriesPointQE.Visible = false;
            _seriesPointQP.Visible = false;
            this.chartControl1.ObjectHotTracked += new DevExpress.XtraCharts.HotTrackEventHandler(this.chartControl1_ObjectHotTracked);
            this.chartControl1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.chartControl1_MouseMove);
            this.chartControl1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.chartControl1_MouseUp);
            this.chartControl1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.chartControl1_MouseDown);
            this.chartControl1.Resize += new System.EventHandler(this.chartControl1_Resize);
        }
        /// <summary>
        /// åˆå§‹åŒ–图表
        /// </summary>
        public void InitialChart(XtrPerformCurveDiagram2d diagram2d)
        {
            this.chartControl1.CrosshairEnabled = diagram2d.CrosshairEnabled;
            this.chartControl1.SeriesSelectionMode = SeriesSelectionMode.Point;
            var xtr_legend = diagram2d.Legend;
            if (xtr_legend != null)
            {
                this.chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
                this.chartControl1.Legend.AlignmentHorizontal = xtr_legend.AlignmentHorizontal;
                this.chartControl1.Legend.Border.Visibility = xtr_legend.Border.Visibility;
                this.chartControl1.Legend.Direction = xtr_legend.Direction;
                this.chartControl1.Legend.MarkerMode = xtr_legend.MarkerMode;
            }
            else
            {
                this.chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
            }
            var xtr_axisQ= diagram2d.AxisQ;
            var xtr_axisH= diagram2d.AxisH;
            var xtr_axisE= diagram2d.AxisE;
            var xtr_axisP= diagram2d.AxisP;
            if (xtr_axisQ != null)
            {
                _axisXQ.Color = xtr_axisQ.Color;
                _axisXQ.Label.TextColor = xtr_axisQ.Color;
                _axisXQ.Label.Font = CurveChartDisplay.AxisLabelFontQ;
                _axisXQ.Label.TextPattern = "{A:#,#}";
                // _axisXQ.Title.Font = xtr_axisQ.Title.Font ;
                _axisXQ.Title.Alignment = StringAlignment.Center;
                _axisXQ.Title.TextColor = CurveChartDisplay.AxisColorQ;
                _axisXQ.Title.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;
                _axisXQ.GridLines.Color = Color.LightSlateGray;
                _axisXQ.GridLines.LineStyle.DashStyle = (DashStyle)CurveChartDisplay.GridLineTypeX;
            }
            _mainChartDiagram = (XYDiagram)chartControl1.Diagram;
            _bottomPanel = (XYDiagramPane)_mainChartDiagram.FindPaneByName("BottomPanel");
            _axisXQ = _mainChartDiagram.AxisX;
            _axisXQ.SetAxisXQDisplay();
            _axisYQH = _mainChartDiagram.AxisY;
            _axisYQH.SetAxisYQHDisplay();
            _axisYQE = _mainChartDiagram.SecondaryAxesY.GetAxisByName("AxisYQE");
            _axisYQE.SetSecondaryAxisYQEDisplay();
            _axisYQP = _mainChartDiagram.SecondaryAxesY.GetAxisByName("AxisYQP");
            _axisYQP.SetSecondaryAxisYQPDisplay();
            _workPointLine = (ConstantLine)_mainChartDiagram.AxisX.ConstantLines.GetElementByName("WorkPointLine");
            _workPointLine.SetWorkPointLineDisplay();
            _workHLine = (ConstantLine)_mainChartDiagram.AxisY.ConstantLines.GetElementByName("WorkHLine");
            _workHLine.SetWorkHLineDisplay();
            _seriesCurveQH = this.chartControl1.GetSeriesByName("SeriesCurveQH");
            _seriesCurveQH.SetCurveQHDisplay();
            _seriesCurveQE = this.chartControl1.GetSeriesByName("SeriesCurveQE");
            _seriesCurveQE.SetCurveQEDisplay();
            _seriesCurveQP = this.chartControl1.GetSeriesByName("SeriesCurveQP");
            _seriesCurveQP.SetCurveQPDisplay();
            _seriesPointQH = this.chartControl1.GetSeriesByName("SeriesPointQH");
            _seriesPointQH.SetPointQHDisplay();
            _seriesPointQE = this.chartControl1.GetSeriesByName("SeriesPointQE");
            _seriesPointQE.SetPointQEDisplay();
            _seriesPointQP = this.chartControl1.GetSeriesByName("SeriesPointQP");
            _seriesPointQP.SetPointQPDisplay();
            _workPointTextAnnot = this.chartControl1.AnnotationRepository[0] as TextAnnotation;
            _workPointTextAnnot.SetTextAnnoWorkPointDisplay();
            _axisXQ.Visibility = DefaultBoolean.False;
            _axisXQ.GridLines.Visible = false;
            _axisYQH.Visibility = DefaultBoolean.False;
            _axisYQH.GridLines.Visible = false;
            _axisYQE.Visibility = DefaultBoolean.False;
            _axisYQE.GridLines.Visible = false;
            _axisYQP.Visibility = DefaultBoolean.False;
            _axisYQP.GridLines.Visible = false;
            _workPointLine.Visible = false;
            _workHLine.Visible = false;
            _workPointTextAnnot.Visible = false;
            _seriesPointQH.Visible = false;
            _seriesPointQE.Visible = false;
            _seriesPointQP.Visible = false;
            this.chartControl1.ObjectHotTracked += new DevExpress.XtraCharts.HotTrackEventHandler(this.chartControl1_ObjectHotTracked);
            this.chartControl1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.chartControl1_MouseMove);
            this.chartControl1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.chartControl1_MouseUp);
            this.chartControl1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.chartControl1_MouseDown);
            this.chartControl1.Resize += new System.EventHandler(this.chartControl1_Resize);
        }
        /// <summary>
        /// åˆå§‹åŒ–图表数据
        /// </summary>
        public void InitialChartData()
        {
            _initialData = false;
            _curveExpressQH = null;
            _curveExpressQE = null;
            _curveExpressQP = null;
            _curvePointsQH = null;
            _curvePointsQE = null;
            _curvePointsQP = null;
            _definePointsQH = null;
            _definePointsQE = null;
            _definePointsQP = null;
            _coordinateParas = null;
            _workPoint = new PerformGroupPoint(0, 0, 0, 0, 0);
            UpdateChart(false);
        }
        #endregion
        /// <summary>
        /// ç»‘定数据
        /// </summary>
        /// <param name="curveQH"></param>
        /// <param name="curveQE"></param>
        /// <param name="curveQP"></param>
        /// <param name="calcCoordinate"></param>
        public void SetBindingData(
                    Yw.Geometry.CubicSpline2d curveQH,
                    Yw.Geometry.CubicSpline2d curveQE,
                    Yw.Geometry.CubicSpline2d curveQP,
                    string coordinateParas = "",
                    bool calcCoordinate = false)
        {
            if (curveQH == null)
            {
                InitialChartData();
                return;
            }
            List<Yw.Geometry.Point2d> qhPoints, qePoints = null, qpPoints = null;
                qhPoints = curveQH.GetPointList(12);
            if (curveQE != null)
                    qePoints = curveQE.GetPointList(12);
            if (curveQP != null)
                    qpPoints = curveQP.GetPointList(12);
            SetBindingData(curveQH, curveQE, curveQP, qhPoints, qePoints, qpPoints,null,null,null, coordinateParas, calcCoordinate);
        }
        /// <summary>
        /// ç»‘定数据
        /// </summary>
        /// <param name="definePointsQH"></param>
        /// <param name="definePointsQE"></param>
        /// <param name="definePointsQP"></param>
        /// <param name="coordinateParas"></param>
        /// <param name="calcCoordinate"></param>
        public void SetBindingData(
                    Yw.Geometry.CubicSpline2d curveQH,
                    Yw.Geometry.CubicSpline2d curveQE,
                    Yw.Geometry.CubicSpline2d curveQP,
                    List<Yw.Geometry.Point2d> curvePointsQH,
                    List<Yw.Geometry.Point2d> curvePointsQ,
                    List<Yw.Geometry.Point2d> curvePointsQP,
                    List<Yw.Geometry.Point2d> definePointsQH,
                    List<Yw.Geometry.Point2d> definePointsQE,
                    List<Yw.Geometry.Point2d> definePointsQP,
                    string coordinateParas = null,
                    bool calcCoordinate = false)
        {
            if (curvePointsQH == null || !curvePointsQH.Any())
            {
                InitialChartData();
                return;
            }
            _initialData = true;
            _curveExpressQH = curveQH;
            _curveExpressQE = curveQE;
            _curveExpressQP = curveQP;
            _curvePointsQH = curvePointsQH;
            _curvePointsQE = curvePointsQ;
            _curvePointsQP = curvePointsQP;
            _definePointsQH = definePointsQH;
            _definePointsQE = definePointsQE;
            _definePointsQP = definePointsQP;
            _coordinateParas = PerformCoordinate.ToModel(coordinateParas);
            UpdateChart(calcCoordinate);
        }
        /// <summary>
        /// æ›´æ–°å›¾è¡¨
        /// </summary>
        /// <param name="calcCoordinate">计算坐标</param>
        public void UpdateChart(bool calcCoordinate = false)
        {
            if (_curvePointsQH == null|| !_curvePointsQH.Any())
            {
                this.barBtnPositioningMaxE.Visibility =  DevExpress.XtraBars.BarItemVisibility.Never;
            }
            else
            {
                this.barBtnPositioningMaxE.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
            }
            if (_curvePointsQP == null || !_curvePointsQP.Any())
            {
                this.barCekSetSplitPanel.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
            }
            else
            {
                this.barCekSetSplitPanel.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
            }
            if (calcCoordinate || _coordinateParas == null)
            {
                //不强迫计算,就用上次更新的坐标系
                CalcCoordinate();
            }
            CalcChartAxis(this.barCekSetSplitPanel.Checked);
            CalcSeries();
            CalcWorkPointByQ();
            CalcTextAnchorPoint();
        }
        #region Calc
        /// <summary>
        /// è®¡ç®—坐标
        /// </summary>
        public void CalcCoordinate()
        {
            if (_curvePointsQH == null || _curvePointsQH.Count < 4)
            {
                //设置成白板坐标
                _coordinateParas = new PerformCoordinate();
                _coordinateParas.GridNumberX = 30;
                _coordinateParas.GridNumberY = 16;
                //显示的坐标线号
                _coordinateParas.StartLineNoH = 10;
                _coordinateParas.EndLineNoH = 15;
                _coordinateParas.StartLineNoE = 0;
                _coordinateParas.EndLineNoE = 10;
                _coordinateParas.StartLineNoP = 2;
                _coordinateParas.EndLineNoP = 9;
                //坐标最小值和间隔
                _coordinateParas.CoordMinQ = 0; _coordinateParas.CoordSpaceQ = 1000;
                _coordinateParas.CoordMinH = 10; _coordinateParas.CoordSpaceH = 100;
                _coordinateParas.CoordMinE = 0; _coordinateParas.CoordSpaceE = 100;
                _coordinateParas.CoordMinP = 10; _coordinateParas.CoordSpaceP = 100;
                return;
            }
            _coordinateParas = PerformCoordinate.CalcCoordinate(_curvePointsQH, _curvePointsQE, _curvePointsQP);
        }
        /// <summary>
        /// è®¡ç®—图表轴
        /// </summary>
        public void CalcChartAxis(bool splitPanel)
        {
            if (_coordinateParas == null)
            {
                _axisXQ.Visibility = DefaultBoolean.False;
                _axisXQ.GridLines.Visible = false;
                _axisYQH.Visibility = DefaultBoolean.False;
                _axisYQH.GridLines.Visible = false;
                _axisYQE.Visibility = DefaultBoolean.False;
                _axisYQE.GridLines.Visible = false;
                _axisYQP.Visibility = DefaultBoolean.False;
                _axisYQP.GridLines.Visible = false;
                _workPointLine.Visible = false;
                _workHLine.Visible = false;
                _workPointTextAnnot.Visible = false;
                _bottomPanel.Visibility =  ChartElementVisibility.Hidden;
                return;
            }
            _bottomPanel.Visibility = splitPanel ? ChartElementVisibility.Visible : ChartElementVisibility.Hidden;
            var pointView = (PointSeriesView)_seriesPointQP.View;
            var curveView = (SplineSeriesView)_seriesCurveQP.View;
            //流量
            if (_curvePointsQH != null)
            {
                //计算刻度
                var labels = new List<CustomAxisLabel>();
                var disQ = _coordinateParas.CoordMinQ;
                for (int i = 0; i < _coordinateParas.GridNumberX + 1; i++)
                {
                    labels.Add(new CustomAxisLabel(disQ.ToString("N0"), disQ));
                    disQ = disQ + _coordinateParas.CoordSpaceQ;
                }
                //坐标刻度
                _axisXQ.CustomLabels.Clear();
                _axisXQ.CustomLabels.AddRange(labels.ToArray());
                _axisXQ.Visibility = DefaultBoolean.True;
                _axisXQ.GridLines.Visible = true;
                _axisXQ.SetAxisRange(_coordinateParas.CoordMinQ, _coordinateParas.CoordMinQ + _coordinateParas.GridNumberX * _coordinateParas.CoordSpaceQ);
                _workPointTextAnnot.Visible = _lineVisible;
            }
            //扬程
            if (_curvePointsQH != null)
            {
                //计算刻度
                var labels = new List<CustomAxisLabel>();
                var disH = _coordinateParas.CoordMinH + _coordinateParas.CoordSpaceH * _coordinateParas.StartLineNoH;
                for (int i = _coordinateParas.StartLineNoH; i < _coordinateParas.EndLineNoH + 1; i++)
                {
                    labels.Add(new CustomAxisLabel(disH.ToString(), disH));
                    disH = disH + _coordinateParas.CoordSpaceH;
                }
                _axisYQH.CustomLabels.Clear();
                _axisYQH.CustomLabels.AddRange(labels.ToArray());
                _axisYQH.Visibility = DefaultBoolean.True;
                _axisYQH.GridLines.Visible = true;
            }
            //效率
            if (_curvePointsQE != null)
            {
                //计算刻度
                var labels = new List<CustomAxisLabel>();
                var disE = _coordinateParas.CoordMinE + _coordinateParas.CoordSpaceE * _coordinateParas.StartLineNoE;
                for (int i = _coordinateParas.StartLineNoE; i < _coordinateParas.EndLineNoE + 1; i++)
                {
                    labels.Add(new CustomAxisLabel(disE.ToString(), disE));
                    disE = disE + _coordinateParas.CoordSpaceE;
                }
                _axisYQE.CustomLabels.Clear();
                _axisYQE.CustomLabels.AddRange(labels.ToArray());
                _axisYQE.Visibility = DefaultBoolean.True;
                _axisYQE.GridLines.Visible = true;
            }
            //功率
            if (_curvePointsQP != null)
            {
                //计算刻度
                var labels = new List<CustomAxisLabel>();
                double disP = _coordinateParas.CoordMinP + _coordinateParas.CoordSpaceP * _coordinateParas.StartLineNoP;
                for (int i = _coordinateParas.StartLineNoP; i < _coordinateParas.EndLineNoP + 1; i++)
                {
                    labels.Add(new CustomAxisLabel(disP.ToString(), disP));
                    disP = disP + _coordinateParas.CoordSpaceP;
                }
                _axisYQP.CustomLabels.Clear();
                _axisYQP.CustomLabels.AddRange(labels.ToArray());
                _axisYQP.Visibility = DefaultBoolean.True;
                _axisYQP.GridLines.Visible = true;
            }
            //是否分割面板:流量效率在上,功率在下
            if (splitPanel)
            {
                var gridNumH = _coordinateParas.EndLineNoH - _coordinateParas.StartLineNoH;
                var gridNumE = _coordinateParas.EndLineNoE - _coordinateParas.StartLineNoE;
                int gridNumUp = Math.Max(gridNumH, gridNumE) + 2;//多两条
                var maxAxisH = _coordinateParas.CoordMinH + _coordinateParas.EndLineNoH * _coordinateParas.CoordSpaceH;
                var minAxisH = maxAxisH - gridNumUp * _coordinateParas.CoordSpaceH;
                _axisYQH.SetAxisRange(minAxisH, maxAxisH);
                var minAxisE = _coordinateParas.CoordMinE + _coordinateParas.StartLineNoE * _coordinateParas.CoordSpaceE;
                var maxAxisE = minAxisE + gridNumUp * _coordinateParas.CoordSpaceE;
                _axisYQE.SetAxisRange(minAxisE, maxAxisE);
                var gridNumP = _coordinateParas.EndLineNoP - _coordinateParas.StartLineNoP;
                var minAxisP = _coordinateParas.CoordMinP + _coordinateParas.StartLineNoP * _coordinateParas.CoordSpaceP;
                var maxAxisP = minAxisP + gridNumP * _coordinateParas.CoordSpaceP;
                _axisYQP.SetAxisRange(minAxisP, maxAxisP);
                pointView.Pane = _bottomPanel;
                curveView.Pane = _bottomPanel;
            }
            else
            {
                _axisXQ.SetAxisRange(_coordinateParas.CoordMinQ, _coordinateParas.CoordMinQ + _coordinateParas.GridNumberX * _coordinateParas.CoordSpaceQ);
                if ((_curvePointsQE == null || !_curvePointsQE.Any()) && (_curvePointsQP == null || !_curvePointsQP.Any()))
                {
                    _axisYQH.SetAxisRange(_coordinateParas.DispMinH(), _coordinateParas.DispMaxH());
                }
                else
                {
                    _axisYQH.SetAxisRange(_coordinateParas.CoordMinH, _coordinateParas.CoordMinH + _coordinateParas.GridNumberY * _coordinateParas.CoordSpaceH);
                }
                _axisYQE.SetAxisRange(_coordinateParas.CoordMinE, _coordinateParas.CoordMinE + _coordinateParas.GridNumberY * _coordinateParas.CoordSpaceE);
                _axisYQP.SetAxisRange(_coordinateParas.CoordMinP, _coordinateParas.CoordMinP + _coordinateParas.GridNumberY * _coordinateParas.CoordSpaceP);
                pointView.Pane = _mainChartDiagram.DefaultPane;
                curveView.Pane = _mainChartDiagram.DefaultPane;
            }
        }
        /// <summary>
        /// è®¡ç®—系列
        /// </summary>
        public void CalcSeries()
        {
            if (_curvePointsQH != null && _curvePointsQH.Count > 3)
            {
                _seriesCurveQH.Visible = true;
                _seriesCurveQH.Points.Clear();
                foreach (var curvePoint in _curvePointsQH)
                {
                    var seriesPoint = new SeriesPoint(curvePoint.X, curvePoint.Y);
                    _seriesCurveQH.Points.Add(seriesPoint);
                }
            }
            else
            {
                _seriesCurveQH.Points.Clear();
                _seriesCurveQH.Visible = false;
                _workPointLine.Visible = false;
                _workHLine.Visible = false;
                _workPointTextAnnot.Visible = false;
            }
            if (_curvePointsQE != null && _curvePointsQE.Count > 3)
            {
                _seriesCurveQE.Visible = true;
                _seriesCurveQE.Points.Clear();
                foreach (var curvePoint in _curvePointsQE)
                {
                    var seriesPoint = new SeriesPoint(curvePoint.X, curvePoint.Y);
                    _seriesCurveQE.Points.Add(seriesPoint);
                }
            }
            else
            {
                _seriesCurveQE.Points.Clear();
                _seriesCurveQE.Visible = false;
            }
            if (_curvePointsQP != null && _curvePointsQP.Count > 3)
            {
                _seriesCurveQP.Visible = true;
                _seriesCurveQP.Points.Clear();
                foreach (var curvePoint in _curvePointsQP)
                {
                    var seriesPoint = new SeriesPoint(curvePoint.X, curvePoint.Y);
                    _seriesCurveQP.Points.Add(seriesPoint);
                }
            }
            else
            {
                _seriesCurveQP.Points.Clear();
                _seriesCurveQP.Visible = false;
            }
            if (_definePointsQH != null && _definePointsQH.Any())
            {
                _seriesPointQH.Points.Clear();
                foreach (var definePoint in _definePointsQH)
                {
                    var seriesPoint = new SeriesPoint(definePoint.X, definePoint.Y);
                    _seriesPointQH.Points.Add(seriesPoint);
                }
            }
            if (_definePointsQE != null && _definePointsQE.Any())
            {
                _seriesPointQE.Points.Clear();
                foreach (var definePoint in _definePointsQE)
                {
                    var seriesPoint = new SeriesPoint(definePoint.X, definePoint.Y);
                    _seriesPointQE.Points.Add(seriesPoint);
                }
            }
            if (_definePointsQP != null && _definePointsQP.Any())
            {
                _seriesPointQP.Points.Clear();
                foreach (var definePoint in _definePointsQP)
                {
                    var seriesPoint = new SeriesPoint(definePoint.X, definePoint.Y);
                    _seriesPointQP.Points.Add(seriesPoint);
                }
            }
        }
        /// <summary>
        /// è®¡ç®—注释定位
        /// </summary>
        private void CalcTextAnchorPoint()
        {
            var x = this.chartControl1.Location.X + this.chartControl1.Width - (100);
            var y = this.chartControl1.Height - (200);
            (_workPointTextAnnot.AnchorPoint as ChartAnchorPoint).X = x;
            (_workPointTextAnnot.AnchorPoint as ChartAnchorPoint).Y = y;
        }
        /// <summary>
        /// è®¡ç®—工作点
        /// </summary>
        /// <param name="workQ"></param>
        public void CalcWorkPointByQ(double? workQ = null)
        {
            if (!_lineVisible)
            {
                _workPointLine.Visible = false;
                _workPointLine.Title.Visible = false;
                _workHLine.Visible = false;
                _workHLine.Title.Visible = false;
                _workPointTextAnnot.Visible = false;
                return;
            }
            else
            {
                _workPointLine.Visible = true;
                _workPointLine.Title.Visible = true;
                _workHLine.Visible = true;
                _workHLine.Title.Visible = true;
                _workPointTextAnnot.Visible = true;
            }
            if (_curvePointsQH == null || !_curvePointsQH.Any())
                return;
            var minQ = _curvePointsQH.Min(x => x.X);
            var maxQ = _curvePointsQH.Max(x => x.X);
            if (workQ == null)
            {
                workQ = (minQ + maxQ) / 2;
            }
            else
            {
                if (workQ < minQ || workQ > maxQ)
                    return;
            }
            _workPoint.Q = workQ.Value;
            _workPoint.H = _curveExpressQH.GetPointY(_workPoint.Q);
            var workInfoStringBuilder = new StringBuilder();
            workInfoStringBuilder.AppendLine($"流量:{_workPoint.Q.ToString("N1")} ");
            workInfoStringBuilder.AppendLine($"扬程:{_workPoint.H.ToString("N1")} ");
            if (_curveExpressQE != null)
            {
                _workPoint.E = _curveExpressQE.GetPointY(_workPoint.Q);
                workInfoStringBuilder.AppendLine($"效率:{_workPoint.E.ToString("N1")} ");
            }
            if (_curveExpressQP != null)
            {
                _workPoint.P = _curveExpressQP.GetPointY(_workPoint.Q);
                workInfoStringBuilder.Append($"功率:{_workPoint.P.ToString("N1")} ");
            }
            _workPointLine.AxisValue = _workPoint.Q;
            _workPointLine.Title.Text = _workPoint.Q.ToString("N1");
            _workHLine.AxisValue = _workPoint.H;
            _workHLine.Title.Text = _workPoint.H.ToString("N1");
            //测试展示效果
            _workPointTextAnnot.Text = workInfoStringBuilder.ToString();
            _workPointTextAnnot.AutoSize = true;
        }
        /// <summary>
        /// æ ¹æ®æ‰¬ç¨‹è®¡ç®—工作点
        /// </summary>
        /// <param name="workH"></param>
        public void CalcWorkPointByH(double workH)
        {
            if (!_lineVisible)
                return;
            if (_curveExpressQH == null)
                return;
            var minH = _curvePointsQH.Min(x => x.Y);
            var maxH = _curvePointsQH.Max(x => x.Y);
            if (workH < minH || workH > maxH)
                return;
            var workQ = _curveExpressQH.GetPointY(workH);
            CalcWorkPointByQ(workQ);
        }
        /// <summary>
        /// æ ¹æ®æœ€å¤§æ•ˆçŽ‡è®¡ç®—å·¥ä½œç‚¹
        /// </summary>
        public void CalcWorkPointByMaxE()
        {
            if (!_lineVisible)
                return;
            if (_curveExpressQE == null)
                return;
            var workQ = _curveExpressQE.MaxX;
            CalcWorkPointByQ(workQ);
        }
        /// <summary>
        /// æ ¹æ®æœ€å¤§æµé‡è®¡ç®—工作点
        /// </summary>
        public void CalcWorkPointByMaxQ()
        {
            if (!_lineVisible)
                return;
            if (_curveExpressQH == null)
                return;
            var workQ = _curveExpressQH.MaxX;
            CalcWorkPointByQ(workQ);
        }
        #endregion
        #region ChartEvent
        ToolTipController toolTip = new ToolTipController();
        private void chartControl1_ObjectHotTracked(object sender, HotTrackEventArgs e)
        {
            if (!_initialData)
                return;
            if (e.AdditionalObject is SeriesPoint seriesPoint)
            {
                var tip = string.Format("X:{0:N1} Y:{1:N1}", seriesPoint.Argument, seriesPoint.Values[0]);
                toolTip.ShowHint(tip);
            }
            else
            {
                toolTip.HideHint();
            }
        }
        // å³é”®å¯¹è±¡
        private object _rightClickObj = null;
        private bool _onMoveWorkPointLine = false;
        private bool _onMoveWorkHLine = false;
        private void chartControl1_MouseDown(object sender, MouseEventArgs e)
        {
            if (!_initialData)
                return;
            var hitInfo = chartControl1.CalcHitInfo(e.Location);
            if (e.Button == MouseButtons.Left)
            {
                if (hitInfo.InSeries)
                {
                    _rightClickObj = hitInfo.Series;
                }
                else if (hitInfo.InAxis)
                {
                    _rightClickObj = hitInfo.Axis;
                }
                else if (hitInfo.InConstantLine)
                {
                    if (hitInfo.ConstantLine == _workPointLine)
                    {
                        _onMoveWorkPointLine = true;
                    }
                    else if (hitInfo.ConstantLine == _workHLine)
                    {
                        _onMoveWorkHLine = true;
                    }
                }
                else if (hitInfo.InAnnotation)
                {
                    _rightClickObj = hitInfo.Annotation;
                }
                else
                {
                    _rightClickObj = null;
                }
            }
            else if (e.Button == MouseButtons.Right)
            {
                if (hitInfo.InConstantLine)
                {
                    this.popMenuLine.ShowPopup(MousePosition);
                }
                else
                {
                    this.popMenuChart.ShowPopup(MousePosition);
                }
            }
        }
        private void chartControl1_MouseMove(object sender, MouseEventArgs e)
        {
            if (!_initialData)
                return;
            if (_onMoveWorkPointLine)
            {
                var diagramCoordinates = _mainChartDiagram.PointToDiagram(e.Location);
                var axisValue = diagramCoordinates.GetAxisValue(_axisXQ);
                if (axisValue == null)
                    return;
                double chartQ = axisValue.NumericalValue;
                CalcWorkPointByQ(chartQ);
            }
            else if (_onMoveWorkHLine)
            {
                var diagramCoordinates = _mainChartDiagram.PointToDiagram(e.Location);
                var axisValue = diagramCoordinates.GetAxisValue(_axisYQH);
                if (axisValue == null)
                    return;
                double chartH = axisValue.NumericalValue;
                CalcWorkPointByH(chartH);
            }
        }
        private void chartControl1_MouseUp(object sender, MouseEventArgs e)
        {
            if (!_initialData)
                return;
            _onMoveWorkPointLine = false;
            _onMoveWorkHLine = false;
        }
        private void chartControl1_Resize(object sender, EventArgs e)
        {
            CalcTextAnchorPoint();
        }
        #endregion
        #region Right Click Menu
        #region Event
        private void barBtnSetAxisQValue_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (_curvePointsQH == null || !_curvePointsQH.Any())
                return;
            var dlg = new AxisValueDlg();
            dlg.SetBindingData();
            dlg.VerifyValueChanged += (value) =>
            {
                var min = _curvePointsQH.Min(x => x.X);
                var max = _curvePointsQH.Max(x => x.X);
                if (value < min || value > max)
                    return false;
                CalcWorkPointByQ(value);
                return true;
            };
            dlg.ShowDialog();
        }
        private void barBtnSetAxisHValue_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (_curvePointsQH == null || !_curvePointsQH.Any())
                return;
            var dlg = new AxisValueDlg();
            dlg.SetBindingData();
            dlg.VerifyValueChanged += (value) =>
            {
                var min = _curvePointsQH.Min(x => x.Y);
                var max = _curvePointsQH.Max(x => x.Y);
                if (value < min || value > max)
                    return false;
                CalcWorkPointByH(value);
                return true;
            };
            dlg.ShowDialog();
        }
        private void barBtnPositioningMaxQ_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            CalcWorkPointByMaxQ();
        }
        private void barBtnPositioningMaxE_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            CalcWorkPointByMaxE();
        }
        private void barCekDefinePointVisible_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            SetDefinePointVisible(this.barCekDefinePointVisible.Checked);
        }
        private void barCekLineVisible_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            SetLineVisible(this.barCekLineVisible.Checked);
        }
        private void barCekLegendVisible_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            SetLegendVisible(this.barCekLegendVisible.Checked);
        }
        private void barCekSetAxisNameVisible_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            SetAxisNameVisible(this.barCekSetAxisNameVisible.Checked);
        }
        private void barCekSetSplitPanel_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            CalcChartAxis(this.barCekSetSplitPanel.Checked);
        }
        private void barCekChartDisplay_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            SetChartDisplay(this.barCekChartDisplay.Checked);
        }
        private void barBtnSetChartAxis_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            SetChartAxis();
        }
        private void barBtnSetChartEquation_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            XtraMessageBox.Show("待补充");
            //SetChartEquation();
        }
        private void barBtnExportXls_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            ExportXls();
        }
        private void barBtnExportImage_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            ExportImage();
        }
        #endregion
        /// <summary>
        /// è®¾ç½®å®šä¹‰ç‚¹æ˜¾ç¤º
        /// </summary>
        public void SetDefinePointVisible(bool visible)
        {
            _seriesPointQH.Visible = visible;
            _seriesPointQE.Visible = visible;
            _seriesPointQP.Visible = visible;
        }
        /// <summary>
        /// è®¾ç½®å·¥ä½œç‚¹æ˜¾ç¤º
        /// </summary>
        public void SetLineVisible(bool visible)
        {
            if (!_initialData)
                return;
            _lineVisible = visible;
            CalcWorkPointByQ();
        }
        /// <summary>
        /// è®¾ç½®å›¾ä¾‹æ˜¾ç¤º
        /// </summary>
        public void SetLegendVisible(bool visible)
        {
            this.chartControl1.Legend.Visibility = visible ? DefaultBoolean.True : DefaultBoolean.False;
        }
        /// <summary>
        /// è®¾ç½®è½´åç§°æ˜¾ç¤º
        /// </summary>
        public void SetAxisNameVisible(bool visible)
        {
            _axisXQ.Title.Visibility = visible ? DefaultBoolean.True : DefaultBoolean.False;
            _axisYQH.Title.Visibility = visible ? DefaultBoolean.True : DefaultBoolean.False;
            _axisYQE.Title.Visibility = visible ? DefaultBoolean.True : DefaultBoolean.False;
            _axisYQP.Title.Visibility = visible ? DefaultBoolean.True : DefaultBoolean.False;
        }
        /// <summary>
        /// è®¾ç½®å›¾è¡¨æ˜¾ç¤º
        /// </summary>
        public void SetChartDisplay(bool monoColor)
        {
            if (monoColor)
            {
                this.chartControl1.SetChartMonoColorDisplay();
            }
            else
            {
                this.chartControl1.SetChartBackColor();
                _axisXQ.SetAxisYQColorDisplay();
                _axisYQH.SetAxisYQHColorDisplay(_seriesCurveQH, _seriesPointQH, true);
                _axisYQE.SetSecondaryAxisYQEColorDisplay(_seriesCurveQE, _seriesPointQE, true);
                _axisYQP.SetSecondaryAxisYQPColorDisplay(_seriesCurveQP, _seriesPointQP, true);
            }
        }
        /// <summary>
        /// è®¾ç½®åæ ‡è½´
        /// </summary>
        public void SetChartAxis()
        {
            var dlg = new ChartCoordinateDlg();
            var onlyQH = _curveExpressQE == null && _curveExpressQP == null;
            dlg.SetBindingData(_coordinateParas, onlyQH);
            dlg.OnChangedCoord += (rhs) =>
            {
                _coordinateParas = rhs;
                CalcChartAxis(this.barCekSetSplitPanel.Checked);
                this.OnCurveCoordinateChanged?.Invoke(_coordinateParas);
            };
            dlg.ShowDialog();
        }
        ///// <summary>
        ///// æ›²çº¿æ–¹ç¨‹
        ///// </summary>
        //public void SetChartEquation()
        //{
        //    var dlg = new CurveEquationDlg();
        //    dlg.SetBindingData(_curveExpressQH, _curveExpressQE, _curveExpressQP);
        //    dlg.ShowDialog();
        //}
        /// <summary>
        /// å¯¼å‡ºExcel
        /// </summary>
        public void ExportXls()
        {
            ExportHelper.ExportXLS(_curveExpressQH, _curveExpressQE, _curveExpressQP, 12);
        }
        /// <summary>
        /// å¯¼å‡ºå›¾ç‰‡
        /// </summary>
        public void ExportImage()
        {
            var dlg = new SaveFileDialog();
            dlg.Filter = "jpg å›¾ç‰‡(*.jpg)|*.jpg";
            if (dlg.ShowDialog() != DialogResult.OK)
                return;
            this.chartControl1.ExportToImage(dlg.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);
        }
        #endregion
    }
}
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-chart/01-chart/XtrPerform2dChartUpdate.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,513 @@
<?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>
  <metadata name="popMenuChart.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>200, 17</value>
  </metadata>
  <assembly alias="DevExpress.Data.v22.2" name="DevExpress.Data.v22.2, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
  <data name="barBtnSetChartAxis.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKcEAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
        RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
        Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
        aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iWC1BeGlzX1NldHRpbmdzIj4N
        CiAgICA8cG9seWdvbiBwb2ludHM9IjQsMjYgNCwyIDIsMiAyLDI4IDYsMjggNiwzMCA4LDMwIDgsMjgg
        MTIsMjggMTIsMzAgMTQsMzAgMTQsMjggMTgsMjggMTgsMzAgMjAsMzAgMjAsMjggMjQsMjggICAgMjQs
        MzAgMjYsMzAgMjYsMjggMzAsMjggMzAsMjYgICIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDxwYXRoIGQ9
        Ik0yOCwxNC40di0yLjhsLTMtMC42Yy0wLjMtMC44LTAuNS0xLjgtMS4xLTIuNWwxLjgtMi41bC0xLjkt
        MS45TDIxLjMsNmMtMC43LTAuNC0xLjYtMC44LTIuNS0xbC0wLjQtM2gtMi44ICAgbC0wLjUsM2MtMC44
        LDAuMy0xLjgsMC41LTIuNSwxbC0yLjUtMS44TDguMiw2LjFMMTAsOC42Yy0wLjQsMC43LTAuOCwxLjct
        MS4xLDIuNUw2LDExLjZ2Mi44bDMsMC41YzAuMywwLjgsMC41LDEuOCwxLjEsMi41ICAgbC0xLjgsMi41
        bDEuOSwxLjlsMi41LTEuOGMwLjcsMC40LDEuNiwwLjgsMi41LDFsMC40LDNoMi44bDAuNi0zYzAuOC0w
        LjMsMS44LTAuNiwyLjUtMWwyLjUsMS44bDEuOS0xLjlMMjQsMTcuNCAgIGMwLjQtMC43LDAuOC0xLjYs
        MS4xLTIuNUwyOCwxNC40eiBNMTcsMTZjLTEuNywwLTMtMS4zLTMtM3MxLjMtMywzLTNzMywxLjMsMywz
        UzE4LjcsMTYsMTcsMTZ6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
</value>
  </data>
  <data name="barCekLineVisible.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAADgFAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iVmVydGljYWxfQXhpc19Mb2dfU2NhbGUiIHN0eWxlPSJlbmFibGUtYmFj
        a2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbGFja3tm
        aWxsOiM3MjcyNzI7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5zdDB7b3BhY2l0eTowLjU7fQo8L3N0
        eWxlPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cmVjdCB4PSI0IiB5PSIyNiIgd2lkdGg9IjI2IiBo
        ZWlnaHQ9IjIiIGNsYXNzPSJCbGFjayIgLz4NCiAgPC9nPg0KICA8cG9seWdvbiBwb2ludHM9IjQsMiA0
        LDQgMiw0IDIsNiA0LDYgNCw4IDIsOCAyLDEwIDQsMTAgNCwxMiAyLDEyIDIsMTQgNCwxNCA0LDE2IDIs
        MTYgMiwxOCA0LDE4IDQsMjAgMiwyMCAyLDIyICAgNCwyMiA0LDI0IDIsMjQgMiwyNiA0LDI2IDQsMjgg
        NiwyOCA2LDIgIiBjbGFzcz0iQmxhY2siIC8+DQogIDxwYXRoIGQ9Ik0xNC42LDEwSDEwVjJoMS43djYu
        NWgyLjlWMTB6IE0xOC42LDEwYy0xLjEsMC0yLTAuNC0yLjctMS4xYy0wLjctMC43LTEtMS43LTEtMi44
        YzAtMS4yLDAuNC0yLjIsMS4xLTMgIEMxNi42LDIuNCwxNy42LDIsMTguNywyYzEuMSwwLDIsMC40LDIu
        NywxLjFzMSwxLjcsMSwyLjljMCwxLjItMC40LDIuMi0xLjEsMi45UzE5LjcsMTAsMTguNiwxMHogTTE4
        LjcsMy41Yy0wLjYsMC0xLjEsMC4yLTEuNCwwLjcgIGMtMC40LDAuNS0wLjUsMS4xLTAuNSwxLjhjMCww
        LjgsMC4yLDEuNCwwLjUsMS44YzAuNCwwLjQsMC44LDAuNywxLjQsMC43YzAuNiwwLDEuMS0wLjIsMS40
        LTAuN3MwLjUtMSwwLjUtMS44ICBjMC0wLjgtMC4yLTEuNC0wLjUtMS45QzE5LjcsMy43LDE5LjMsMy41
        LDE4LjcsMy41eiBNMzAsOS4zYy0wLjgsMC40LTEuNywwLjctMi44LDAuN0MyNiwxMCwyNSw5LjcsMjQu
        Myw5cy0xLjEtMS42LTEuMS0yLjggIGMwLTEuMiwwLjQtMi4yLDEuMi0zUzI2LjIsMiwyNy41LDJjMC44
        LDAsMS41LDAuMSwyLjIsMC4zVjRjLTAuNi0wLjMtMS4zLTAuNS0yLjItMC41Yy0wLjcsMC0xLjMsMC4y
        LTEuOCwwLjdDMjUuMyw0LjYsMjUsNS4zLDI1LDYgIGMwLDAuOCwwLjIsMS40LDAuNiwxLjhzMSwwLjcs
        MS42LDAuN2MwLjQsMCwwLjctMC4xLDEtMC4yVjYuOGgtMS41VjUuNUgzMFY5LjN6IiBjbGFzcz0iQmx1
        ZSIgLz4NCjwvc3ZnPgs=
</value>
  </data>
  <data name="barCekDefinePointVisible.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAADsEAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
        RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
        Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
        aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iU2NhdHRlckNoYXJ0Ij4NCiAgICA8cGF0aCBk
        PSJNMzEsMjhIMWMtMC42LDAtMS0wLjUtMS0xVjNjMC0wLjUsMC40LTEsMS0xaDMwYzAuNSwwLDEsMC41
        LDEsMXYyNEMzMiwyNy41LDMxLjUsMjgsMzEsMjh6IiBjbGFzcz0iQmxhY2siIC8+DQogICAgPHJlY3Qg
        eD0iMiIgeT0iNCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjIyIiBjbGFzcz0iV2hpdGUiIC8+DQogICAgPGcg
        Y2xhc3M9InN0MiI+DQogICAgICA8cGF0aCBkPSJNMzAsMTBWOGgtOFY0aC0ydjRoLThWNGgtMnY0SDJ2
        Mmg4djRIMnYyaDh2NEgydjJoOHY0aDJ2LTRoOHY0aDJ2LTRoOHYtMmgtOHYtNGg4di0yaC04di00SDMw
        eiBNMjAsMjBoLTggICAgdi00aDhWMjB6IE0yMCwxNGgtOHYtNGg4VjE0eiIgY2xhc3M9IkJsYWNrIiAv
        Pg0KICAgIDwvZz4NCiAgICA8Y2lyY2xlIGN4PSI5IiBjeT0iMTkiIHI9IjMiIGNsYXNzPSJSZWQiIC8+
        DQogICAgPGNpcmNsZSBjeD0iMTUiIGN5PSI5IiByPSIzIiBjbGFzcz0iWWVsbG93IiAvPg0KICAgIDxj
        aXJjbGUgY3g9IjIzIiBjeT0iMTUiIHI9IjMiIGNsYXNzPSJHcmVlbiIgLz4NCiAgPC9nPg0KPC9zdmc+
        Cw==
</value>
  </data>
  <data name="barCekSetSplitPanel.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAN4CAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku
        WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4
        N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk
        aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTEwLDhoMmgxNmgy
        VjNjMC0wLjUtMC41LTEtMS0xSDNDMi41LDIsMiwyLjUsMiwzdjVoMkgxMHoiIGNsYXNzPSJCbHVlIiAv
        Pg0KICA8cGF0aCBkPSJNMywzMGgyNmMwLjUsMCwxLTAuNSwxLTFWOGgtMnYxMkgxMlY4aC0ydjIwSDRW
        OEgydjIxQzIsMjkuNSwyLjUsMzAsMywzMHogTTEyLDIyaDE2djZIMTJWMjJ6IiBjbGFzcz0iQmxhY2si
        IC8+DQo8L3N2Zz4L
</value>
  </data>
  <data name="barCekSetAxisNameVisible.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAEMEAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iVmVydGljYWxfVGl0bGUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpu
        ZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbGFja3tmaWxsOiM3Mjcy
        NzI7fQoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJLnN0MHtvcGFjaXR5OjAuNTt9Cjwvc3R5bGU+DQog
        IDxwb2x5Z29uIHBvaW50cz0iMTQsMjggMTQsMiAxMiwyIDEyLDMwIDMyLDMwIDMyLDI4ICIgY2xhc3M9
        IkJsYWNrIiAvPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cG9seWdvbiBwb2ludHM9IjMwLDIgMTQs
        MiAxNCw0IDMwLDQgMzAsMjggMzIsMjggMzIsNCAzMiwyICAiIGNsYXNzPSJCbGFjayIgLz4NCiAgPC9n
        Pg0KICA8cGF0aCBkPSJNMTAsMTRINy41bC0wLjctMi4ySDMuMkwyLjUsMTRIMEwzLjcsNGgyLjdMMTAs
        MTR6IE02LjMsMTBMNS4yLDYuN0M1LjEsNi40LDUsNi4xLDUsNS44SDUgIGMwLDAuMy0wLjEsMC42LTAu
        MiwwLjlMMy43LDEwSDYuM3ogTTIsMjZWMTZoMy42YzEuMSwwLDIsMC4yLDIuNiwwLjZjMC42LDAuNCww
        LjksMSwwLjksMS43YzAsMC41LTAuMiwxLTAuNSwxLjRzLTAuOCwwLjctMS40LDAuOCAgdjBjMC43LDAu
        MSwxLjMsMC40LDEuNywwLjhzMC42LDEsMC42LDEuNmMwLDAuOS0wLjMsMS42LTEsMi4yQzcuOSwyNS43
        LDcsMjYsNS44LDI2SDJ6IE00LjMsMTcuN1YyMGgxYzAuNSwwLDAuOC0wLjEsMS4xLTAuMyAgYzAuMy0w
        LjIsMC40LTAuNSwwLjQtMC45YzAtMC43LTAuNS0xLjEtMS42LTEuMUg0LjN6IE00LjMsMjEuN3YyLjZo
        MS4yYzAuNSwwLDAuOS0wLjEsMS4yLTAuNGMwLjMtMC4yLDAuNC0wLjYsMC40LTEgIGMwLTAuNC0wLjEt
        MC43LTAuNC0wLjljLTAuMy0wLjItMC43LTAuMy0xLjItMC4zSDQuM3oiIGNsYXNzPSJZZWxsb3ciIC8+
        DQo8L3N2Zz4L
</value>
  </data>
  <data name="barCekLegendVisible.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALgDAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
        RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
        Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
        aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iU2hvd0xlZ2VuZCI+DQogICAgPGcgY2xhc3M9
        InN0MSI+DQogICAgICA8cG9seWdvbiBwb2ludHM9IjMwLDAgNCwwIDQsMiAzMCwyIDMwLDI4IDMyLDI4
        IDMyLDIgMzIsMCAgICIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDwvZz4NCiAgICA8cmVjdCB4PSI2IiB5
        PSI0IiB3aWR0aD0iNiIgaGVpZ2h0PSI2IiBjbGFzcz0iUmVkIiAvPg0KICAgIDxyZWN0IHg9IjYiIHk9
        IjEyIiB3aWR0aD0iNiIgaGVpZ2h0PSI2IiBjbGFzcz0iQmx1ZSIgLz4NCiAgICA8cmVjdCB4PSI2IiB5
        PSIyMCIgd2lkdGg9IjYiIGhlaWdodD0iNiIgY2xhc3M9IlllbGxvdyIgLz4NCiAgICA8cGF0aCBkPSJN
        NCwyOFYwSDJ2MzBoMzB2LTJINHogTTI2LDhIMTZWNmgxMFY4eiBNMjYsMTRIMTZ2MmgxMFYxNHogTTI2
        LDIySDE2djJoMTBWMjJ6IiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
  </data>
  <data name="barCekChartDisplay.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFwCAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5C
        bGFja3tmaWxsOiM3MjcyNzI7fQoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJLlJlZHtmaWxsOiNEMTFD
        MUM7fQo8L3N0eWxlPg0KICA8ZyBpZD0iTW9vbiI+DQogICAgPHBhdGggZD0iTTIwLDIwYy00LjQsMC04
        LTMuNi04LThjMC0zLjgsMi43LTcsNi4yLTcuOEMxNy41LDQuMSwxNi44LDQsMTYsNEM5LjQsNCw0LDku
        NCw0LDE2YzAsNi42LDUuNCwxMiwxMiwxMiAgIHMxMi01LjQsMTItMTJjMC0wLjgtMC4xLTEuNS0wLjIt
        Mi4yQzI3LDE3LjMsMjMuOCwyMCwyMCwyMHoiIGNsYXNzPSJZZWxsb3ciIC8+DQogIDwvZz4NCjwvc3Zn
        Pgs=
</value>
  </data>
  <data name="barBtnSetChartEquation.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJYIAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iRmlsZHNfSXRlbXNfU2V0cyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5k
        Om5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6Izcy
        NzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLnN0MHtvcGFjaXR5OjAuNTt9Cjwvc3R5bGU+DQog
        IDxnIGNsYXNzPSJzdDAiPg0KICAgIDxwYXRoIGQ9Ik0xMCwxMEg2VjZoNFYxMHogTTI0LDZIMTJ2NGgx
        MlY2eiBNMTAsMTJINnYxMmg0VjEyeiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCiAgPHBhdGggZD0i
        TTMxLDEyaC0zVjNjMC0wLjYtMC40LTEtMS0xSDNDMi40LDIsMiwyLjQsMiwzdjI0YzAsMC42LDAuNCwx
        LDEsMWg5djNjMCwwLjUsMC41LDEsMSwxaDE4YzAuNSwwLDEtMC41LDEtMSAgVjEzQzMyLDEyLjUsMzEu
        NSwxMiwzMSwxMnogTTQsMjZWNGgyMnY4SDEzYy0wLjUsMC0xLDAuNS0xLDF2MTNINHogTTMwLDMwSDE0
        di0ydi0yVjE0aDEyaDJoMlYzMHogTTIyLjcsMTguOUgyNGwtMC4zLDEuMmgtMS4zICBsLTEuMyw1LjFj
        LTAuMSwwLjYtMC40LDEuMS0wLjcsMS42Yy0wLjMsMC40LTAuNywwLjctMS4xLDAuOWMtMC40LDAuMi0w
        LjksMC4zLTEuNCwwLjNjLTAuNSwwLTEtMC4xLTEuMy0wLjMgIGMtMC40LTAuMi0wLjYtMC41LTAuNi0w
        LjljMC0wLjMsMC4xLTAuNSwwLjMtMC42YzAuMi0wLjIsMC40LTAuMywwLjctMC4zYzAuMSwwLDAuMiww
        LDAuMywwLjFjMC4xLDAsMC4yLDAuMSwwLjMsMC4yICBjMC4xLDAsMC4yLDAuMiwwLjMsMC40YzAuMSww
        LjEsMC4xLDAuMSwwLjIsMC4yYzAuMSwwLDAuMSwwLDAuMiwwYzAuMywwLDAuNS0wLjMsMC42LTAuOWwx
        LjMtNS43aC0wLjlsMC4zLTEuMmgxbDAuMi0wLjYgIGMwLjItMC43LDAuNS0xLjMsMS4xLTEuN2MwLjYt
        MC40LDEuMy0wLjYsMi4yLTAuNmMwLjUsMCwwLjgsMC4xLDEuMSwwLjJjMC4zLDAuMSwwLjUsMC4yLDAu
        NiwwLjRjMC4xLDAuMiwwLjIsMC40LDAuMiwwLjYgIGMwLDAuMiwwLDAuMy0wLjEsMC41cy0wLjIsMC4z
        LTAuNCwwLjNzLTAuMywwLjEtMC41LDAuMWMtMC4yLDAtMC4zLDAtMC41LTAuMWMtMC4xLTAuMS0wLjMt
        MC4yLTAuNC0wLjNjLTAuMi0wLjItMC4zLTAuMy0wLjMtMC4zICBjLTAuMSwwLTAuMS0wLjEtMC4yLTAu
        MWMtMC4yLDAtMC4zLDAuMS0wLjQsMC4yYy0wLjEsMC4xLTAuMiwwLjMtMC4yLDAuN0wyMi43LDE4Ljl6
        IE0yNS4yLDIyLjFsMC42LDEuMmMwLjMtMC41LDAuNi0wLjgsMC43LTAuOSAgYzAuMi0wLjIsMC4zLTAu
        MywwLjUtMC40YzAuMi0wLjEsMC4zLTAuMSwwLjUtMC4xYzAuMiwwLDAuMywwLDAuNCwwLjFjMC4xLDAu
        MSwwLjIsMC4yLDAuMiwwLjRjMCwwLjEsMCwwLjItMC4xLDAuMyAgcy0wLjEsMC4xLTAuMiwwLjJzLTAu
        MSwwLjEtMC4yLDAuMWMwLDAtMC4xLDAtMC4zLDBjLTAuMiwwLTAuMywwLTAuMywwYy0wLjEsMC0wLjEs
        MC4xLTAuMiwwLjFjLTAuMSwwLjEtMC4yLDAuMS0wLjIsMC4yICBjMCwwLTAuMiwwLjItMC40LDAuNmww
        LjIsMC40YzAuMiwwLjMsMC4zLDAuNSwwLjQsMC42YzAuMSwwLjEsMC4yLDAuMSwwLjMsMC4xYzAuMiww
        LDAuMy0wLjEsMC42LTAuM2wwLjQsMC41ICBjLTAuNCwwLjQtMC45LDAuNi0xLjQsMC42Yy0wLjIsMC0w
        LjQsMC0wLjUtMC4xcy0wLjMtMC4yLTAuNC0wLjNzLTAuMi0wLjMtMC40LTAuNmwtMC4yLTAuNWMtMC4y
        LDAuMy0wLjQsMC42LTAuNiwwLjggIGMtMC4yLDAuMi0wLjQsMC40LTAuNiwwLjVDMjMuOCwyNiwyMy43
        LDI2LDIzLjUsMjZjLTAuMSwwLTAuMiwwLTAuMy0wLjFjLTAuMSwwLTAuMS0wLjEtMC4yLTAuMmMwLTAu
        MS0wLjEtMC4yLTAuMS0wLjMgIGMwLTAuMSwwLTAuMiwwLjEtMC4zYzAuMS0wLjEsMC4xLTAuMiwwLjIt
        MC4yczAuMi0wLjEsMC41LTAuMWMwLjIsMCwwLjMsMCwwLjQtMC4xYzAuMSwwLDAuMi0wLjEsMC4zLTAu
        MnMwLjMtMC4zLDAuNS0wLjdsLTAuNC0wLjggIGgtMC42bDAuMi0wLjdjMC4zLDAsMC42LTAuMiwwLjkt
        MC4zSDI1LjJ6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
</value>
  </data>
  <data name="barBtnExportXls.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAEYMAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku
        QmxhY2t7ZmlsbDojNzI3MjcyO30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTgsNGgxOHY2aDJWM2MwLTAu
        NS0wLjUtMS0xLTFIN0M2LjUsMiw2LDIuNSw2LDN2N2gyVjR6IiBjbGFzcz0iQmxhY2siIC8+DQogIDxw
        YXRoIGQ9Ik0yNiwyNkg4di03LjJINlYyN2MwLDAuNSwwLjUsMSwxLDFoMjBjMC41LDAsMS0wLjUsMS0x
        di04LjJoLTJWMjZ6IiBjbGFzcz0iQmxhY2siIC8+DQogIDxnPg0KICAgIDxnPg0KICAgICAgPHBhdGgg
        ZD0iTTI5LDhINUM0LjQsOCw0LDguNCw0LDl2MTBjMCwwLjYsMC40LDEsMSwxaDI0YzAuNiwwLDEtMC40
        LDEtMVY5QzMwLDguNCwyOS42LDgsMjksOHogTTExLjYsMThsLTEuMi0yLjYgICAgYzAtMC4xLTAuMS0w
        LjMtMC4xLTAuNWgwYzAsMC4xLTAuMSwwLjMtMC4yLDAuNkw4LjgsMThINi45bDIuMy00bC0yLjEtNGgy
        bDEsMi40YzAuMSwwLjIsMC4yLDAuNCwwLjIsMC43aDAgICAgYzAtMC4yLDAuMS0wLjQsMC4yLTAuN2wx
        LjEtMi40aDEuOGwtMi4yLDRsMi4yLDRIMTEuNnogTTE5LjgsMThoLTQuM3YtOGgxLjZ2Ni41aDIuN1Yx
        OHogTTI1LjgsMTYuOGMtMC4yLDAuMy0wLjQsMC41LTAuNiwwLjcgICAgcy0wLjYsMC4zLTAuOSwwLjRD
        MjMuOSwxOCwyMy41LDE4LDIzLjEsMThjLTAuNCwwLTAuOCwwLTEuMS0wLjFjLTAuNC0wLjEtMC43LTAu
        Mi0wLjktMC4zdi0xLjdjMC4zLDAuMywwLjYsMC41LDEsMC42ICAgIGMwLjMsMC4xLDAuNywwLjIsMSww
        LjJjMC4yLDAsMC40LDAsMC41LTAuMWMwLjIsMCwwLjMtMC4xLDAuNC0wLjJjMC4xLTAuMSwwLjItMC4y
        LDAuMi0wLjJjMC0wLjEsMC4xLTAuMiwwLjEtMC4zICAgIGMwLTAuMiwwLTAuMy0wLjEtMC40Yy0wLjEt
        MC4xLTAuMi0wLjItMC4zLTAuM3MtMC4zLTAuMi0wLjUtMC4zYy0wLjItMC4xLTAuNC0wLjItMC42LTAu
        M2MtMC42LTAuMy0xLTAuNi0xLjMtMC45ICAgIGMtMC4zLTAuNC0wLjQtMC44LTAuNC0xLjNjMC0wLjQs
        MC4xLTAuNywwLjItMWMwLjItMC4zLDAuNC0wLjUsMC42LTAuN2MwLjMtMC4yLDAuNi0wLjMsMC45LTAu
        NHMwLjctMC4xLDEuMS0wLjEgICAgYzAuNCwwLDAuNywwLDEsMC4xYzAuMywwLDAuNiwwLjEsMC44LDAu
        MnYxLjZjLTAuMS0wLjEtMC4zLTAuMi0wLjQtMC4ycy0wLjMtMC4xLTAuNC0wLjJjLTAuMiwwLTAuMy0w
        LjEtMC41LTAuMSAgICBjLTAuMSwwLTAuMywwLTAuNCwwYy0wLjIsMC0wLjQsMC0wLjUsMC4xYy0wLjIs
        MC0wLjMsMC4xLTAuNCwwLjJjLTAuMSwwLjEtMC4yLDAuMi0wLjIsMC4yYy0wLjEsMC4xLTAuMSwwLjIt
        MC4xLDAuMyAgICBjMCwwLjEsMCwwLjIsMC4xLDAuM2MwLjEsMC4xLDAuMiwwLjIsMC4zLDAuM2MwLjEs
        MC4xLDAuMywwLjIsMC40LDAuM2MwLjIsMC4xLDAuNCwwLjIsMC42LDAuM2MwLjMsMC4xLDAuNSwwLjMs
        MC44LDAuNCAgICBjMC4yLDAuMSwwLjQsMC4zLDAuNiwwLjVjMC4yLDAuMiwwLjMsMC40LDAuNCwwLjZj
        MC4xLDAuMiwwLjEsMC41LDAuMSwwLjhDMjYsMTYuMSwyNS45LDE2LjUsMjUuOCwxNi44eiIgY2xhc3M9
        IkdyZWVuIiAvPg0KICAgIDwvZz4NCiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9Ik0yOSw4SDVDNC40LDgs
        NCw4LjQsNCw5djEwYzAsMC42LDAuNCwxLDEsMWgyNGMwLjYsMCwxLTAuNCwxLTFWOUMzMCw4LjQsMjku
        Niw4LDI5LDh6IE0xMS42LDE4bC0xLjItMi42ICAgIGMwLTAuMS0wLjEtMC4zLTAuMS0wLjVoMGMwLDAu
        MS0wLjEsMC4zLTAuMiwwLjZMOC44LDE4SDYuOWwyLjMtNGwtMi4xLTRoMmwxLDIuNGMwLjEsMC4yLDAu
        MiwwLjQsMC4yLDAuN2gwICAgIGMwLTAuMiwwLjEtMC40LDAuMi0wLjdsMS4xLTIuNGgxLjhsLTIuMiw0
        bDIuMiw0SDExLjZ6IE0xOS44LDE4aC00LjN2LThoMS42djYuNWgyLjdWMTh6IE0yNS44LDE2LjhjLTAu
        MiwwLjMtMC40LDAuNS0wLjYsMC43ICAgIHMtMC42LDAuMy0wLjksMC40QzIzLjksMTgsMjMuNSwxOCwy
        My4xLDE4Yy0wLjQsMC0wLjgsMC0xLjEtMC4xYy0wLjQtMC4xLTAuNy0wLjItMC45LTAuM3YtMS43YzAu
        MywwLjMsMC42LDAuNSwxLDAuNiAgICBjMC4zLDAuMSwwLjcsMC4yLDEsMC4yYzAuMiwwLDAuNCwwLDAu
        NS0wLjFjMC4yLDAsMC4zLTAuMSwwLjQtMC4yYzAuMS0wLjEsMC4yLTAuMiwwLjItMC4yYzAtMC4xLDAu
        MS0wLjIsMC4xLTAuMyAgICBjMC0wLjIsMC0wLjMtMC4xLTAuNGMtMC4xLTAuMS0wLjItMC4yLTAuMy0w
        LjNzLTAuMy0wLjItMC41LTAuM2MtMC4yLTAuMS0wLjQtMC4yLTAuNi0wLjNjLTAuNi0wLjMtMS0wLjYt
        MS4zLTAuOSAgICBjLTAuMy0wLjQtMC40LTAuOC0wLjQtMS4zYzAtMC40LDAuMS0wLjcsMC4yLTFjMC4y
        LTAuMywwLjQtMC41LDAuNi0wLjdjMC4zLTAuMiwwLjYtMC4zLDAuOS0wLjRzMC43LTAuMSwxLjEtMC4x
        ICAgIGMwLjQsMCwwLjcsMCwxLDAuMWMwLjMsMCwwLjYsMC4xLDAuOCwwLjJ2MS42Yy0wLjEtMC4xLTAu
        My0wLjItMC40LTAuMnMtMC4zLTAuMS0wLjQtMC4yYy0wLjIsMC0wLjMtMC4xLTAuNS0wLjEgICAgYy0w
        LjEsMC0wLjMsMC0wLjQsMGMtMC4yLDAtMC40LDAtMC41LDAuMWMtMC4yLDAtMC4zLDAuMS0wLjQsMC4y
        Yy0wLjEsMC4xLTAuMiwwLjItMC4yLDAuMmMtMC4xLDAuMS0wLjEsMC4yLTAuMSwwLjMgICAgYzAsMC4x
        LDAsMC4yLDAuMSwwLjNjMC4xLDAuMSwwLjIsMC4yLDAuMywwLjNjMC4xLDAuMSwwLjMsMC4yLDAuNCww
        LjNjMC4yLDAuMSwwLjQsMC4yLDAuNiwwLjNjMC4zLDAuMSwwLjUsMC4zLDAuOCwwLjQgICAgYzAuMiww
        LjEsMC40LDAuMywwLjYsMC41YzAuMiwwLjIsMC4zLDAuNCwwLjQsMC42YzAuMSwwLjIsMC4xLDAuNSww
        LjEsMC44QzI2LDE2LjEsMjUuOSwxNi41LDI1LjgsMTYuOHoiIGNsYXNzPSJHcmVlbiIgLz4NCiAgICA8
        L2c+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
  </data>
  <data name="barBtnExportImage.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANECAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iUGljdHVyZSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
        R3JlZW57ZmlsbDojMDM5QzIzO30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5zdDB7b3BhY2l0eTow
        LjU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMjksNEgzQzIuNSw0LDIsNC41LDIsNXYyMmMwLDAuNSww
        LjUsMSwxLDFoMjZjMC41LDAsMS0wLjUsMS0xVjVDMzAsNC41LDI5LjUsNCwyOSw0eiBNMjgsMjZINFY2
        aDI0VjI2eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8Y2lyY2xlIGN4PSIyMSIgY3k9IjExIiByPSIzIiBj
        bGFzcz0iWWVsbG93IiAvPg0KICA8cG9seWdvbiBwb2ludHM9IjIwLDI0IDEwLDE0IDYsMTggNiwyNCAi
        IGNsYXNzPSJHcmVlbiIgLz4NCiAgPGcgY2xhc3M9InN0MCI+DQogICAgPHBvbHlnb24gcG9pbnRzPSIy
        MiwyNCAxOCwyMCAyMCwxOCAyNiwyNCAgIiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
  </data>
  <metadata name="barManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>17, 17</value>
  </metadata>
  <data name="barBtnPositioningMaxQ.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJEDAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iVG9wXzEwX0l0ZW1zIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3
        IDAgMCAzMiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmxhY2t7ZmlsbDojNzI3Mjcy
        O30KCS5HcmVlbntmaWxsOiMwMzlDMjM7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMzEsMkgxQzAuNSwy
        LDAsMi41LDAsM3YyNmMwLDAuNSwwLjUsMSwxLDFoMzBjMC41LDAsMS0wLjUsMS0xVjNDMzIsMi41LDMx
        LjUsMiwzMSwyeiBNOCwxNHYxMEg2VjE0SDNsNC02ICBsNCw2SDh6IE0zMCwyOEgxNFY0aDE2VjI4eiIg
        Y2xhc3M9IkdyZWVuIiAvPg0KICA8cGF0aCBkPSJNMjQuNiwyMGMtMiwwLTMtMS4zLTMtMy45YzAtMS4z
        LDAuMy0yLjQsMC44LTMuMWMwLjUtMC43LDEuMy0xLjEsMi4zLTEuMWMxLjksMCwyLjksMS4zLDIuOSwz
        LjkgIGMwLDEuMy0wLjMsMi4zLTAuOCwzQzI2LjMsMTkuNywyNS42LDIwLDI0LjYsMjB6IE0yNC43LDEz
        LjNjLTAuOCwwLTEuMiwwLjktMS4yLDIuOGMwLDEuNywwLjQsMi42LDEuMiwyLjZjMC44LDAsMS4xLTAu
        OSwxLjEtMi43ICBDMjUuOCwxNC4yLDI1LjQsMTMuMywyNC43LDEzLjN6IE0xOCwyMHYtNS4yaC0ydi0x
        LjJjMC4zLDAsMC42LDAsMC44LTAuMWMwLjMsMCwwLjUtMC4xLDAuNy0wLjNjMC4yLTAuMSwwLjQtMC4z
        LDAuNS0wLjUgIGMwLjEtMC4yLDAuMi0wLjUsMC4zLTAuOGgxLjN2OEgxOHoiIGNsYXNzPSJCbGFjayIg
        Lz4NCjwvc3ZnPgs=
</value>
  </data>
  <data name="barBtnPositioningMaxE.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJgEAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iVG9wXzEwX1BlcmNlbnQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpu
        ZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbGFja3tmaWxsOiM3Mjcy
        NzI7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0zMSwySDFDMC41
        LDIsMCwyLjUsMCwzdjI0YzAsMC41LDAuNSwxLDEsMWgzMGMwLjUsMCwxLTAuNSwxLTFWM0MzMiwyLjUs
        MzEuNSwyLDMxLDJ6IE04LDEydjEwSDZWMTJIM2w0LTYgIGw0LDZIOHogTTMwLDI2SDE0VjRoMTZWMjZ6
        IiBjbGFzcz0iR3JlZW4iIC8+DQogIDxwYXRoIGQ9Ik0xOC42LDE1LjFjLTAuOCwwLTEuNC0wLjItMS45
        LTAuN2MtMC41LTAuNC0wLjctMS0wLjctMS44YzAtMC44LDAuMi0xLjUsMC43LTEuOXMxLjItMC43LDIt
        MC43ICBjMC44LDAsMS40LDAuMiwxLjksMC42YzAuNCwwLjQsMC43LDEsMC43LDEuOGMwLDAuOC0wLjIs
        MS40LTAuNywxLjlDMjAsMTQuOCwxOS40LDE1LjEsMTguNiwxNS4xeiBNMjYsMTBsLTYuMiwxMEgxOGw2
        LjItMTBIMjZ6ICAgTTE4LjcsMTEuMmMtMC43LDAtMS4xLDAuNS0xLjEsMS40YzAsMC45LDAuMywxLjMs
        MSwxLjNjMC43LDAsMS4xLTAuNSwxLjEtMS40QzE5LjcsMTEuNiwxOS40LDExLjIsMTguNywxMS4yeiBN
        MjUuMywyMCAgYy0wLjgsMC0xLjQtMC4yLTEuOS0wLjdzLTAuNy0xLTAuNy0xLjhjMC0wLjgsMC4yLTEu
        NSwwLjctMS45YzAuNS0wLjUsMS4yLTAuNywyLTAuN2MwLjgsMCwxLjQsMC4yLDEuOSwwLjZzMC43LDEs
        MC43LDEuOCAgYzAsMC44LTAuMiwxLjQtMC43LDEuOUMyNi44LDE5LjgsMjYuMSwyMCwyNS4zLDIweiBN
        MjUuNCwxNi4xYy0wLjcsMC0xLjEsMC41LTEuMSwxLjRjMCwwLjksMC40LDEuMywxLjEsMS4zYzAuNyww
        LDEuMS0wLjUsMS4xLTEuNCAgYzAtMC40LTAuMS0wLjctMC4zLTFDMjYsMTYuMiwyNS43LDE2LjEsMjUu
        NCwxNi4xeiIgY2xhc3M9IkJsYWNrIiAvPg0KPC9zdmc+Cw==
</value>
  </data>
  <data name="barBtnSetAxisQValue.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAO8CAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iSG9yaXpvbnRhbF9BeGlzX0xlZnRfdG9fUmlnaHQiIHN0eWxlPSJlbmFi
        bGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5C
        bGFja3tmaWxsOiM3MjcyNzI7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5zdDB7b3BhY2l0eTowLjU7
        fQo8L3N0eWxlPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cmVjdCB4PSI0IiB5PSIyIiB3aWR0aD0i
        MiIgaGVpZ2h0PSIxOCIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQogIDxwb2x5Z29uIHBvaW50cz0i
        MzAsMjcgMjYsMjQgMjYsMjYgNCwyNiA0LDI4IDI2LDI4IDI2LDMwICIgY2xhc3M9IkJsdWUiIC8+DQog
        IDxwb2x5Z29uIHBvaW50cz0iNCwxOCA0LDIwIDYsMjAgNiwyMiA4LDIyIDgsMjAgMTAsMjAgMTAsMjIg
        MTIsMjIgMTIsMjAgMTQsMjAgMTQsMjIgMTYsMjIgMTYsMjAgMTgsMjAgMTgsMjIgMjAsMjIgICAyMCwy
        MCAyMiwyMCAyMiwyMiAyNCwyMiAyNCwyMCAyNiwyMCAyNiwyMiAyOCwyMiAyOCwyMCAzMCwyMCAzMCwx
        OCAiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs=
</value>
  </data>
  <data name="barBtnSetAxisHValue.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOICAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iVmVydGljYWxfQXhpc19Cb3R0b21fdG9fVXAiIHN0eWxlPSJlbmFibGUt
        YmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbHVl
        e2ZpbGw6IzExNzdENzt9CgkuQmxhY2t7ZmlsbDojNzI3MjcyO30KCS5zdDB7b3BhY2l0eTowLjU7fQo8
        L3N0eWxlPg0KICA8cG9seWdvbiBwb2ludHM9IjEyLDIgMTIsNCAxMCw0IDEwLDYgMTIsNiAxMiw4IDEw
        LDggMTAsMTAgMTIsMTAgMTIsMTIgMTAsMTIgMTAsMTQgMTIsMTQgMTIsMTYgMTAsMTYgMTAsMTggMTIs
        MTggICAxMiwyMCAxMCwyMCAxMCwyMiAxMiwyMiAxMiwyNCAxMCwyNCAxMCwyNiAxMiwyNiAxMiwyOCAx
        NCwyOCAxNCwyICIgY2xhc3M9IkJsYWNrIiAvPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cmVjdCB4
        PSIxNCIgeT0iMjYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIyIiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4N
        CiAgPHBvbHlnb24gcG9pbnRzPSI4LDYgNSwyIDIsNiA0LDYgNCwyOCA2LDI4IDYsNiAiIGNsYXNzPSJC
        bHVlIiAvPg0KPC9zdmc+Cw==
</value>
  </data>
  <metadata name="popMenuLine.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>397, 17</value>
  </metadata>
</root>
WinFrmUI/Yw.WinFrmUI.Phart.Core/Yw.WinFrmUI.Phart.Core.csproj
@@ -27,12 +27,15 @@
  </ItemGroup>
  <ItemGroup>
    <Compile Remove="01-perform\01-chart\01-chart\XtrPerform2dChartUpdate.cs" />
    <Compile Remove="01-perform\01-chart\01-chart\XtrPerform2dChartUpdate.Designer.cs" />
    <Compile Remove="01-perform\01-chart\XtrPerform2dChart - å¤åˆ¶.cs" />
    <Compile Remove="01-perform\01-chart\XtrPerform2dChart - å¤åˆ¶.Designer.cs" />
    <Compile Remove="Title - å¤åˆ¶.cs" />
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Remove="01-perform\01-chart\01-chart\XtrPerform2dChartUpdate.resx" />
    <EmbeddedResource Remove="01-perform\01-chart\XtrPerform2dChart - å¤åˆ¶.resx" />
  </ItemGroup>