資源簡介
重寫winfrom UI控件
代碼片段和文件信息
/******************************************************************************
?*?SunnyUI?開源控件庫、工具類庫、擴展類庫、多頁面開發框架。
?*?CopyRight?(C)?2012-2020?ShenYongHua(沈永華).
?*?QQ群:56829229?QQ:17612584?EMail:SunnyUI@qq.com
?*
?*?Blog:???https://www.cnblogs.com/yhuse
?*?Gitee:??https://gitee.com/yhuse/SunnyUI
?*?GitHub:?https://github.com/yhuse/SunnyUI
?*
?*?SunnyUI.dll?can?be?used?for?free?under?the?GPL-3.0?license.
?*?If?you?use?this?code?please?keep?this?note.
?*?如果您使用此代碼,請保留此說明。
?******************************************************************************
?*?文件名稱:?UIBarChart.cs
?*?文件說明:?柱狀圖
?*?當前版本:?V2.2
?*?創建日期:?2020-06-06
?*
?*?2020-06-06:?V2.2.5?增加文件說明
?*?2020-08-21:?V2.2.7?可設置柱狀圖最小寬度
******************************************************************************/
using?System;
using?System.Collections.Concurrent;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Drawing;
using?System.Drawing.Drawing2D;
using?System.Linq;
using?System.Windows.Forms;
namespace?Sunny.UI
{
????[ToolboxItem(true)]
????public?class?UIBarChart?:?UIChart
????{
????????private?bool?NeedDraw;
????????protected?override?void?OnSizeChanged(EventArgs?e)
????????{
????????????base.OnSizeChanged(e);
????????????CalcData(BarOption);
????????}
????????protected?override?void?CalcData(UIOption?option)
????????{
????????????Bars.Clear();
????????????NeedDraw?=?false;
????????????UIBarOption?o?=?(UIBarOption)option;
????????????if?(o?==?null?||?o.Series?==?null?||?o.SeriesCount?==?0)?return;
????????????DrawOrigin?=?new?Point(BarOption.Grid.Left?Height?-?BarOption.Grid.Bottom);
????????????DrawSize?=?new?Size(Width?-?BarOption.Grid.Left?-?BarOption.Grid.Right
????????????????Height?-?BarOption.Grid.Top?-?BarOption.Grid.Bottom);
????????????if?(DrawSize.Width?<=?0?||?DrawSize.Height?<=?0)?return;
????????????if?(o.XAxis.Data.Count?==?0)?return;
????????????NeedDraw?=?true;
????????????DrawBarWidth?=?DrawSize.Width?*?1.0f?/?o.XAxis.Data.Count;
????????????double?min?=?double.MaxValue;
????????????double?max?=?double.MinValue;
????????????foreach?(var?series?in?o.Series)
????????????{
????????????????min?=?Math.Min(min?series.Data.Min());
????????????????max?=?Math.Max(max?series.Data.Max());
????????????}
????????????if?(min?>?0?&&?max?>?0?&&?!o.YAxis.Scale)
????????????{
????????????????min?=?0;
????????????}
????????????if?(min?0?&&?max?0?&&?!o.YAxis.Scale)
????????????{
????????????????max?=?0;
????????????}
????????????if?(!o.YAxis.MaxAuto)?max?=?o.YAxis.Max;
????????????if?(!o.YAxis.MinAuto)?min?=?o.YAxis.Min;
????????????if?((max?-?min).IsZero())
????????????{
????????????????max?=?100;
????????????????min?=?0;
????????????}
????????????UIChartHelper.CalcDegreeScale(min?max?o.YAxis.SplitNumber
????????????????out?int?start?out?int?end?out?double?interval);
????????????YAxisStart?=?start;
????????????YAxisEnd?=?end;
????????????YAxisInterval?=?interval;
????????????float?x1?=?DrawBarWidth?/?((o.SeriesCount?*?2)?+?o.SeriesCount?+?1
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-09-21?14:12??SunnyUI\
?????文件????????2518??2020-09-21?14:12??SunnyUI\.gitattributes
?????文件????????5737??2020-09-21?14:12??SunnyUI\.gitignore
?????目錄???????????0??2020-09-21?14:12??SunnyUI\Bin\
?????文件?????1249792??2020-09-21?14:12??SunnyUI\Bin\SunnyUI.dll
?????文件?????2012672??2020-09-21?14:12??SunnyUI\Bin\SunnyUI.pdb
?????文件???????35141??2020-09-21?14:12??SunnyUI\LICENSE
?????文件????????3631??2020-09-21?14:12??SunnyUI\README.md
?????目錄???????????0??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\
?????目錄???????????0??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\
?????文件??????367616??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\SunnyUI.Demo.exe
?????文件?????1249792??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\SunnyUI.dll
?????目錄???????????0??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\
?????文件????????4464??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\ajax.png
?????文件????????3654??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\atalanta.png
?????文件????????5174??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\barcelona.png
?????文件????????5683??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\benfica.png
?????文件????????5223??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\betis.png
?????文件????????5251??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\brescia.png
?????文件????????5997??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\chievo.png
?????文件????????4613??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\deportivo.png
?????文件????????4862??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\feyenoord.png
?????文件????????4917??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\heerenveen.png
?????文件????????6343??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\inter.png
?????文件????????6100??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\lazio.png
?????文件????????5254??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\mallorca.png
?????文件????????3427??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\milan.png
?????文件????????2365??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\parma.png
?????文件????????4808??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\porto.png
?????文件????????6800??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\psv.png
?????文件????????5219??2020-09-21?14:12??SunnyUI\SunnyUI.Demo\Bin\Team\real_madrid.png
............此處省略410個文件信息
- 上一篇:dnf助手(游戲輔助)
- 下一篇:RSlinux Opc Client
評論
共有 條評論