• 大小: 3.70M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2024-06-15
  • 语言: C#
  • 标签: SunnyUI  master  ASTER  su  MA  

资源简介

C# winform简洁漂亮的图形界面库SunnyUI源码

资源截图

代码片段和文件信息

/******************************************************************************
 * SunnyUI 开源控件库、工具类库、扩展类库、多页面开发框架。
 * CopyRight (C) 2012-2021 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
 * 文件说明: 柱状图
 * 当前版本: V3.0
 * 创建日期: 2020-06-06
 *
 * 2020-06-06: V2.2.5 增加文件说明
 * 2020-08-21: V2.2.7 可设置柱状图最小宽度
 * 2021-07-22: V3.0.5 增加更新数据的方法
******************************************************************************/

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
    {
        protected bool NeedDraw;

        protected override void OnSizeChanged(EventArgs e)
        {
            base.OnSizeChanged(e);
            CalcData();
        }

        public override void Refresh()
        {
            base.Refresh();
            if (Option != null)
            {
                SetOption(Option);
            }

            CalcData();
        }

        public void Update(string seriesName int index double value)
        {
            var series = Option[seriesName];
            if (series != null)
            {
                series.Update(index value);
            }
        }

        /// 
        /// 计算刻度
        /// 起始值必须小于结束值
        /// 

        /// 起始值
        /// 结束值
        /// 期望刻度数量,实际数接近此数
        /// 刻度起始值,须乘以间隔使用
        /// 刻度结束值,须乘以间隔使用
        /// 刻度间隔
        public void CalcDegreeScale(double start double end int expect_num
            out int degree_start out int degree_end out double degree_gap out int decimalCount)
        {
            if (start >= end)
            {
                throw new Exception(“起始值必须小于结束值“);
            }

            double differ = end - start;
            double differ_gap = differ / (expect_num - 1); //35 4.6 0.27

            double exponent = Math.Log10(differ_gap) - 1; //0.54 -0.34 -1.57
            int _exponent = (int)exponent; //0 0=>-1 -1=>-2
            if (exponent < 0 && Math.Abs(exponent) > 1e-8)
            {
                _exponent--;
            }

            int step = (int)(differ_gap / Math.Pow(10 _exponent)); //35 46 27
            int[] fix_steps = new int[] { 10 20 25 50 100 };
            int fix_step = 10; //25 50 25
      

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2021-12-07 07:59  SunnyUI-master\
     文件         225  2021-12-07 07:59  SunnyUI-master\.editorconfig
     文件        2518  2021-12-07 07:59  SunnyUI-master\.gitattributes
     文件        5868  2021-12-07 07:59  SunnyUI-master\.gitignore
     目录           0  2021-12-07 07:59  SunnyUI-master\Bin\
     目录           0  2021-12-07 07:59  SunnyUI-master\Bin\net40\
     文件      202752  2021-12-07 07:59  SunnyUI-master\Bin\net40\SunnyUI.Common.dll
     文件      632320  2021-12-07 07:59  SunnyUI-master\Bin\net40\SunnyUI.Demo.exe
     文件     2281472  2021-12-07 07:59  SunnyUI-master\Bin\net40\SunnyUI.dll
     文件       35141  2021-12-07 07:59  SunnyUI-master\LICENSE
     文件        4510  2021-12-07 07:59  SunnyUI-master\README.md
     目录           0  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\
     目录           0  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\
     文件        8084  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FBarChart.Designer.cs
     文件        4165  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FBarChart.cs
     文件        5698  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FBarChart.resx
     文件        7957  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FBarChartEx.Designer.cs
     文件        5189  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FBarChartEx.cs
     文件        5698  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FBarChartEx.resx
     文件        8187  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FDoughnutChart.Designer.cs
     文件        3364  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FDoughnutChart.cs
     文件        5698  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FDoughnutChart.resx
     文件       10303  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FLineChart.Designer.cs
     文件        6470  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FLineChart.cs
     文件        6059  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FLineChart.resx
     文件        8179  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FPieChart.Designer.cs
     文件        3172  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FPieChart.cs
     文件        5698  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Charts\FPieChart.resx
     目录           0  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Controls\
     文件       13432  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Controls\FAvatar.Designer.cs
     文件         328  2021-12-07 07:59  SunnyUI-master\SunnyUI.Demo\Controls\FAvatar.cs
............此处省略730个文件信息

评论

共有 条评论