From 342fa8be89ce72d4a1f87fc857def22b41722dfc Mon Sep 17 00:00:00 2001
From: Shuxia Ning <NingShuxia0927@outlook.com>
Date: 星期日, 03 十一月 2024 14:43:19 +0800
Subject: [PATCH] 曲线 问题修改

---
 WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs |   34 ++++++++++++++++++++++++++--------
 1 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs
index 1c58c68..4f17901 100644
--- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs
@@ -67,7 +67,9 @@
             set
             {
                 _lineVisible = value;
-                this.barCekLineVisible.Checked = _lineVisible;
+                this.barCekLineVisible.Checked = _lineVisible; 
+                this.barBtnSetAxisQValue.Enabled = _lineVisible;
+                this.barBtnPositioningMaxQ.Enabled = _lineVisible;
             }
         }
         private bool _lineVisible = false;
@@ -403,7 +405,8 @@
 
             if (workQ == null)
             {
-                workQ = (minQ + maxQ) / 2;
+                //workQ = (minQ + maxQ) / 2;
+                workQ = minQ;
             }
             else
             {
@@ -446,9 +449,8 @@
             var minH = _pt_ql_list.Min(x => x.Y);
             var maxH = _pt_ql_list.Max(x => x.Y);
             if (workH < minH || workH > maxH)
-                return;
-
-            var workQ = _cubic_spline_ql.GetPointY(workH);
+                return; 
+            var workQ = _cubic_spline_ql.GetPointsX(workH)?.LastOrDefault();
             CalcWorkPointByQ(workQ);
         } 
      
@@ -644,8 +646,23 @@
                 if (axisValue == null)
                     return;
                 double chartH = axisValue.NumericalValue;
-                CalcWorkPointByH(chartH);
-
+                CalcWorkPointByH(chartH); 
+            }
+            else
+            {
+                var hitInfo = chartControl1.CalcHitInfo(e.Location);
+                if (hitInfo.InConstantLine)
+                {
+                    this.chartControl1.Cursor = Cursors.Hand;
+                }
+                else if (hitInfo.InAnnotation)
+                {
+                    this.chartControl1.Cursor = Cursors.SizeAll;
+                }
+                else
+                {
+                    this.chartControl1.Cursor = Cursors.Default;
+                }
             }
         }
 
@@ -691,6 +708,7 @@
                 return;
             var dlg = new PumpAxisValueDlg();
             dlg.SetBindingData();
+            dlg.Text = "姘存崯";
             dlg.VerifyValueChanged += (value) =>
             {
                 var min = _pt_ql_list.Min(x => x.Y);
@@ -777,7 +795,7 @@
         {
             if (!_initial_data)
                 return;
-            _lineVisible = visible;
+            LineVisible = visible;
             CalcWorkPointByQ();
         }
 

--
Gitblit v1.9.3