资源简介
重写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
相关资源
- C#联合halcon实现鼠标滚轮事件
- C# 配置PI数据库服务器(Snapshot )
- listView可修改控件
- window窗体+窗体控件
- winfrom权限管理源码(附数据库)
- PDF文件 阅读控件 (VeryPDF PDFView OCX)
- C#自定义控件案例--美化GroupBox.rar
- C# 使用GDI+绘制漂亮的ToolTip控件
- C#动画控件超炫
- WeifenLuo.WinFormsUI.Docking3.1.0
- C#做的一个图片浏览器源码
- Winfrom制作流程图插件
- C#自定义可限制输入、可验证信息的
- C#中WebBrowser控件的简单调用
- IP地址控件C#版
-
最新免费版la
yerSkin皮肤库 - C#版本气泡自定义控件,引用即可使用
- 一个C#的Chart控件
- C#chart控件画3D柱状、折线图
- 控件重绘 C# WinForm控件美化扩展系列之
- .net winform插件大全 .net 控件大全.net插
- C#界面美化 (最好用的免费的第三方
- winform 60种非常漂亮界面样式\\皮肤(
- (VB.NET)WinForm自定义DataGridView分页组
- C#编写ActiveX控件(纯接口,无界面)
- # 系统应用之TreeView控件显示树状磁盘
- 基于GMap.ne控件的C/S模式地图开发程序
- WPF结合DEV换肤
- 详细的activeX控件开发教程
- wpf datagrid控件
评论
共有 条评论