diff --git a/Bin/SunnyUI.Demo.exe b/Bin/SunnyUI.Demo.exe index 1b7d9e7d..8d6e3881 100644 Binary files a/Bin/SunnyUI.Demo.exe and b/Bin/SunnyUI.Demo.exe differ diff --git a/Bin/SunnyUI.dll b/Bin/SunnyUI.dll index db72bebb..990577de 100644 Binary files a/Bin/SunnyUI.dll and b/Bin/SunnyUI.dll differ diff --git a/SunnyUI.Demo/Charts/FBarChart.cs b/SunnyUI.Demo/Charts/FBarChart.cs index d9ac6ac3..6fe9d7c9 100644 --- a/SunnyUI.Demo/Charts/FBarChart.cs +++ b/SunnyUI.Demo/Charts/FBarChart.cs @@ -48,7 +48,7 @@ namespace Sunny.UI.Demo.Charts option.XAxis.Data.Add("Thu"); option.XAxis.Data.Add("Fri"); - option.ToolTip = new UIBarToolTip(); + option.ToolTip.Visible = true; option.YAxis.Scale = true; option.XAxis.Name = "日期"; diff --git a/SunnyUI.Demo/Charts/FBarChartEx.cs b/SunnyUI.Demo/Charts/FBarChartEx.cs index 3404b25f..64e6e66c 100644 --- a/SunnyUI.Demo/Charts/FBarChartEx.cs +++ b/SunnyUI.Demo/Charts/FBarChartEx.cs @@ -73,7 +73,7 @@ namespace Sunny.UI.Demo option.XAxis.Data.Add("Thu"); option.XAxis.Data.Add("Fri"); - option.ToolTip = new UIBarToolTip(); + option.ToolTip.Visible = true; option.YAxis.Scale = true; option.XAxis.Name = "日期"; diff --git a/SunnyUI.Demo/Charts/FDoughnutChart.cs b/SunnyUI.Demo/Charts/FDoughnutChart.cs index e3e55a96..e80f447d 100644 --- a/SunnyUI.Demo/Charts/FDoughnutChart.cs +++ b/SunnyUI.Demo/Charts/FDoughnutChart.cs @@ -18,7 +18,7 @@ option.Title.Left = UILeftAlignment.Center; //设置ToolTip - option.ToolTip = new UIPieToolTip(); + option.ToolTip.Visible = true; //设置Legend option.Legend = new UILegend(); diff --git a/SunnyUI.Demo/Charts/FLineChart.cs b/SunnyUI.Demo/Charts/FLineChart.cs index d7dd4ba5..95ca0983 100644 --- a/SunnyUI.Demo/Charts/FLineChart.cs +++ b/SunnyUI.Demo/Charts/FLineChart.cs @@ -14,7 +14,7 @@ namespace Sunny.UI.Demo.Charts private void uiSymbolButton1_Click(object sender, EventArgs e) { UILineOption option = new UILineOption(); - option.ToolTip = new UIBarToolTip(); + option.ToolTip.Visible = true; option.Title = new UITitle(); option.Title.Text = "SunnyUI"; option.Title.SubText = "LineChart"; diff --git a/SunnyUI.Demo/Charts/FPieChart.cs b/SunnyUI.Demo/Charts/FPieChart.cs index a924812d..93b5d661 100644 --- a/SunnyUI.Demo/Charts/FPieChart.cs +++ b/SunnyUI.Demo/Charts/FPieChart.cs @@ -33,7 +33,7 @@ option.Title.Left = UILeftAlignment.Center; //设置ToolTip - option.ToolTip = new UIPieToolTip(); + option.ToolTip.Visible = true; //设置Legend option.Legend = new UILegend(); diff --git a/SunnyUI/Charts/UIBarChart.cs b/SunnyUI/Charts/UIBarChart.cs index 01b942a6..74f11938 100644 --- a/SunnyUI/Charts/UIBarChart.cs +++ b/SunnyUI/Charts/UIBarChart.cs @@ -274,7 +274,7 @@ namespace Sunny.UI try { - if (BarOption.ToolTip == null) return; + if (!BarOption.ToolTip.Visible) return; if (e.Location.X > BarOption.Grid.Left && e.Location.X < Width - BarOption.Grid.Right && e.Location.Y > BarOption.Grid.Top && e.Location.Y < Height - BarOption.Grid.Bottom) diff --git a/SunnyUI/Charts/UIBarChartEx.cs b/SunnyUI/Charts/UIBarChartEx.cs index 7f8b3c2d..a72b806c 100644 --- a/SunnyUI/Charts/UIBarChartEx.cs +++ b/SunnyUI/Charts/UIBarChartEx.cs @@ -481,7 +481,7 @@ namespace Sunny.UI { try { - if (BarOption.ToolTip == null) return; + if (!BarOption.ToolTip.Visible) return; if (e.Location.X > BarOption.Grid.Left && e.Location.X < Width - BarOption.Grid.Right && e.Location.Y > BarOption.Grid.Top && diff --git a/SunnyUI/Charts/UIBarChartOption.cs b/SunnyUI/Charts/UIBarChartOption.cs index c6d7f297..10f80728 100644 --- a/SunnyUI/Charts/UIBarChartOption.cs +++ b/SunnyUI/Charts/UIBarChartOption.cs @@ -29,7 +29,7 @@ namespace Sunny.UI { public UIAxis XAxis { get; set; } = new UIAxis(UIAxisType.Category); - public UIBarToolTip ToolTip { get; set; } + public UIBarToolTip ToolTip { get; set; } = new UIBarToolTip(); public UIAxis YAxis { get; set; } = new UIAxis(UIAxisType.Value); @@ -69,13 +69,15 @@ namespace Sunny.UI public int SeriesCount => Series.Count; } - public class UIBarToolTip + public class UIBarToolTip : UIChartToolTip { - public string Formatter { get; set; } = "{{b}} : {{c}}"; - - public string ValueFormat { get; set; } = "F0"; - public UIAxisPointer AxisPointer = new UIAxisPointer(); + + public UIBarToolTip() + { + Formatter = "{{b}} : {{c}}"; + ValueFormat = "F0"; + } } public class UIAxisPointer diff --git a/SunnyUI/Charts/UIDoughnutChart.cs b/SunnyUI/Charts/UIDoughnutChart.cs index 53e7946d..adeb7aeb 100644 --- a/SunnyUI/Charts/UIDoughnutChart.cs +++ b/SunnyUI/Charts/UIDoughnutChart.cs @@ -214,7 +214,11 @@ namespace Sunny.UI tip.Top = e.Location.Y + 20; } - if (!tip.Visible) tip.Visible = angle.Text.IsValid(); + if (DoughnutOption.ToolTip.Visible) + { + if (!tip.Visible) tip.Visible = angle.Text.IsValid(); + } + return; } } diff --git a/SunnyUI/Charts/UILineChart.cs b/SunnyUI/Charts/UILineChart.cs index 7a70bd0e..bc8ef8c0 100644 --- a/SunnyUI/Charts/UILineChart.cs +++ b/SunnyUI/Charts/UILineChart.cs @@ -495,7 +495,7 @@ namespace Sunny.UI idx++; } - if (LineOption.ToolTip != null) + if (LineOption.ToolTip.Visible) { if (sb.ToString().IsNullOrEmpty()) { diff --git a/SunnyUI/Charts/UILineChartOption.cs b/SunnyUI/Charts/UILineChartOption.cs index 801f8c10..c5e53999 100644 --- a/SunnyUI/Charts/UILineChartOption.cs +++ b/SunnyUI/Charts/UILineChartOption.cs @@ -12,7 +12,7 @@ namespace Sunny.UI public UIAxis YAxis { get; set; } = new UIAxis(UIAxisType.Value); - public UIBarToolTip ToolTip { get; set; } + public UILineToolTip ToolTip { get; set; } = new UILineToolTip(); public void Dispose() { @@ -215,8 +215,14 @@ namespace Sunny.UI } } + public class UILineToolTip : UIChartToolTip + { + + } + public class UILineSeries { + public int Index { get; set; } public string Name { get; private set; } public float Width { get; set; } = 2; diff --git a/SunnyUI/Charts/UIOption.cs b/SunnyUI/Charts/UIOption.cs index 2742acf4..063c5b41 100644 --- a/SunnyUI/Charts/UIOption.cs +++ b/SunnyUI/Charts/UIOption.cs @@ -30,6 +30,15 @@ namespace Sunny.UI public UILegend Legend; } + public class UIChartToolTip + { + public bool Visible { get; set; } + + public string Formatter { get; set; } + + public string ValueFormat { get; set; } + } + public class UIScaleLine { public double Value { get; set; } diff --git a/SunnyUI/Charts/UIPieChart.cs b/SunnyUI/Charts/UIPieChart.cs index 968c47d9..d2b977ea 100644 --- a/SunnyUI/Charts/UIPieChart.cs +++ b/SunnyUI/Charts/UIPieChart.cs @@ -243,7 +243,11 @@ namespace Sunny.UI tip.Top = e.Location.Y + 20; } - if (!tip.Visible) tip.Visible = angle.Text.IsValid(); + if (PieOption.ToolTip.Visible) + { + if (!tip.Visible) tip.Visible = angle.Text.IsValid(); + } + return; } } diff --git a/SunnyUI/Charts/UIPieChartOption.cs b/SunnyUI/Charts/UIPieChartOption.cs index 89fae06f..e080dcce 100644 --- a/SunnyUI/Charts/UIPieChartOption.cs +++ b/SunnyUI/Charts/UIPieChartOption.cs @@ -29,7 +29,7 @@ namespace Sunny.UI { public List Series = new List(); - public UIPieToolTip ToolTip; + public UIPieToolTip ToolTip { get; set; } = new UIPieToolTip(); public void AddSeries(UIPieSeries series) { @@ -54,7 +54,7 @@ namespace Sunny.UI { public List Series = new List(); - public UIPieToolTip ToolTip; + public UIPieToolTip ToolTip { get; set; } = new UIPieToolTip(); public void AddSeries(UIDoughnutSeries series) { @@ -75,11 +75,14 @@ namespace Sunny.UI public int SeriesCount => Series.Count; } - public class UIPieToolTip + public class UIPieToolTip : UIChartToolTip { - public string Formatter { get; set; } = "{{a}}" + '\n' + "{{b}} : {{c}} ({{d}}%)"; - - public string ValueFormat { get; set; } = "F0"; + public UIPieToolTip() + { + Formatter = "{{a}}" + '\n' + "{{b}} : {{c}} ({{d}}%)"; + ValueFormat = "F0"; + Visible = true; + } } public class UIPieSeries : IDisposable