diff --git a/Bin/net40/SunnyUI.Demo.exe b/Bin/net40/SunnyUI.Demo.exe
index 6d53fefe..58457424 100644
Binary files a/Bin/net40/SunnyUI.Demo.exe and b/Bin/net40/SunnyUI.Demo.exe differ
diff --git a/Bin/net40/SunnyUI.dll b/Bin/net40/SunnyUI.dll
index 1ee41957..fccffa1a 100644
Binary files a/Bin/net40/SunnyUI.dll and b/Bin/net40/SunnyUI.dll differ
diff --git a/SunnyUI.Demo/Properties/Resources.Designer.cs b/SunnyUI.Demo/Properties/Resources.Designer.cs
index 12ed5a67..26efc564 100644
--- a/SunnyUI.Demo/Properties/Resources.Designer.cs
+++ b/SunnyUI.Demo/Properties/Resources.Designer.cs
@@ -19,7 +19,7 @@ namespace Sunny.UI.Demo.Properties {
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@@ -271,7 +271,7 @@ namespace Sunny.UI.Demo.Properties {
}
///
- /// 查找类似 20220207 的本地化字符串。
+ /// 查找类似 20220209 的本地化字符串。
///
internal static string BuildDate {
get {
diff --git a/SunnyUI.Demo/Properties/Resources.resx b/SunnyUI.Demo/Properties/Resources.resx
index 4e589a6c..c32fe02d 100644
--- a/SunnyUI.Demo/Properties/Resources.resx
+++ b/SunnyUI.Demo/Properties/Resources.resx
@@ -155,7 +155,7 @@
..\Resources\brescia.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
- 20220207
+ 20220209
..\Resources\ChartDarkStyle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
diff --git a/SunnyUI/Charts/UILineChart.cs b/SunnyUI/Charts/UILineChart.cs
index ea30fc33..02002e21 100644
--- a/SunnyUI/Charts/UILineChart.cs
+++ b/SunnyUI/Charts/UILineChart.cs
@@ -30,6 +30,7 @@
* 2021-12-31: V3.0.9 X轴支持字符串显示
* 2022-01-06: V3.1.0 支持FillColor透明
* 2022-01-09: V3.1.0 双坐标轴支持选区域缩放
+ * 2022-02-09: V3.1.0 增加图线隐藏
******************************************************************************/
using System;
@@ -427,7 +428,7 @@ namespace Sunny.UI
protected virtual void DrawSeries(Graphics g, Color color, UILineSeries series)
{
- if (series.Points.Count == 0)
+ if (series.Points.Count == 0 || !series.Visible)
{
return;
}
@@ -588,6 +589,8 @@ namespace Sunny.UI
{
foreach (var series in Option.Series.Values)
{
+ if (series.Points.Count == 0 || !series.Visible) continue;
+
Color color = series.Color;
if (series.SymbolColor.IsValid()) color = series.SymbolColor;
@@ -775,6 +778,7 @@ namespace Sunny.UI
foreach (var series in Option.Series.Values)
{
if (series.DataCount == 0) continue;
+ if (!series.Visible) continue;
if (series.GetNearestPoint(e.Location, 4, out double x, out double y, out int index))
{
UILineSelectPoint point = new UILineSelectPoint();
diff --git a/SunnyUI/Charts/UILineChartOption.cs b/SunnyUI/Charts/UILineChartOption.cs
index ccded052..49269cdb 100644
--- a/SunnyUI/Charts/UILineChartOption.cs
+++ b/SunnyUI/Charts/UILineChartOption.cs
@@ -69,83 +69,59 @@ namespace Sunny.UI
return series;
}
- public UILineSeries AddSeries(string name, bool isY2 = false)
+ public UILineSeries AddSeries(string seriesName, bool isY2 = false)
{
- if (name.IsNullOrEmpty()) return null;
- UILineSeries series = new UILineSeries(name, isY2);
+ if (seriesName.IsNullOrEmpty()) return null;
+ UILineSeries series = new UILineSeries(seriesName, isY2);
AddSeries(series);
return series;
}
- public void AddData(string name, double x, double y)
+ public void AddData(string seriesName, double x, double y)
{
- if (!Series.ContainsKey(name)) return;
- Series[name].Add(x, y);
+ if (!Series.ContainsKey(seriesName)) return;
+ Series[seriesName].Add(x, y);
}
- public void AddData(string name, DateTime x, double y)
+ public void AddData(string seriesName, DateTime x, double y)
{
- if (!Series.ContainsKey(name)) return;
- Series[name].Add(x, y);
+ if (!Series.ContainsKey(seriesName)) return;
+ Series[seriesName].Add(x, y);
}
- public void AddData(string name, string x, double y)
- {
- if (!Series.ContainsKey(name)) return;
- Series[name].Add(x, y);
- }
-
- public void AddData(string name, List x, List y)
+ public void AddData(string seriesName, List x, List y)
{
if (x.Count != y.Count) return;
for (int i = 0; i < x.Count; i++)
{
- AddData(name, x[i], y[i]);
+ AddData(seriesName, x[i], y[i]);
}
}
- public void AddData(string name, List x, List y)
+ public void AddData(string seriesName, List x, List y)
{
if (x.Count != y.Count) return;
for (int i = 0; i < x.Count; i++)
{
- AddData(name, x[i], y[i]);
+ AddData(seriesName, x[i], y[i]);
}
}
- public void AddData(string name, List x, List y)
- {
- if (x.Count != y.Count) return;
- for (int i = 0; i < x.Count; i++)
- {
- AddData(name, x[i], y[i]);
- }
- }
-
- public void AddData(string name, double[] x, double[] y)
+ public void AddData(string seriesName, double[] x, double[] y)
{
if (x.Length != y.Length) return;
for (int i = 0; i < x.Length; i++)
{
- AddData(name, x[i], y[i]);
+ AddData(seriesName, x[i], y[i]);
}
}
- public void AddData(string name, DateTime[] x, double[] y)
+ public void AddData(string seriesName, DateTime[] x, double[] y)
{
if (x.Length != y.Length) return;
for (int i = 0; i < x.Length; i++)
{
- AddData(name, x[i], y[i]);
- }
- }
-
- public void AddData(string name, string[] x, double[] y)
- {
- if (x.Length != y.Length) return;
- for (int i = 0; i < x.Length; i++)
- {
- AddData(name, x[i], y[i]);
+ AddData(seriesName, x[i], y[i]);
}
}
@@ -159,11 +135,11 @@ namespace Sunny.UI
Series.Clear();
}
- public void Clear(string name)
+ public void Clear(string seriesName)
{
- if (Series.ContainsKey(name))
+ if (Series.ContainsKey(seriesName))
{
- Series[name].Clear();
+ Series[seriesName].Clear();
}
}
@@ -328,6 +304,8 @@ namespace Sunny.UI
public bool IsY2 { get; private set; }
+ public bool Visible { get; set; } = true;
+
public UILineSeries(string name, bool isY2 = false)
{
Name = name;
diff --git a/SunnyUI/Controls/UIAnalogMeter.cs b/SunnyUI/Controls/UIAnalogMeter.cs
index ced7da0d..76c96aa1 100644
--- a/SunnyUI/Controls/UIAnalogMeter.cs
+++ b/SunnyUI/Controls/UIAnalogMeter.cs
@@ -328,10 +328,6 @@ namespace Sunny.UI
Invalidate();
}
- protected override void OnPaintBackground(PaintEventArgs e)
- {
- }
-
protected override void OnPaint(PaintEventArgs e)
{
if (Width <= 0 || Height <= 0) return;