本文所要将的是在“配餐系统”开发中 立体饼状图效果的实现,直接贴出代码和附上示例,相信需要的朋友可以很容易使用!项目中的效果图,如下:
实现 应用的是 System.Drawing.PieChart.PieChartControl 控件, PieChartHelper类如下:

using System;
using System.Collections;
using System.Drawing;
using System.Text;
///<summary>
/// 立体饼状图操作类
///</summary>
publicclass PieChartHelper
{
///<summary>
/// 饼状图初始化设置
///</summary>
///<param name="pieChart"></param>
publicstaticvoid Init_PieChart(System.Drawing.PieChart.PieChartControl pieChart)
{
pieChart.EdgeColorType = System.Drawing.PieChart.EdgeColorType.Contrast;
pieChart.EdgeLineWidth =1;//设置饼块的边框线的宽度
//饼状图(上下左右)距离边框(PieChart控件的边框)都为5
pieChart.LeftMargin = 5f;
pieChart.RightMargin = 5f;
pieChart.TopMargin = 5f;
pieChart.BottomMargin = 5f;
pieChart.FitChart =true;
pieChart.SliceRelativeHeight =0.15f;//设置饼块的厚(高)度
pieChart.InitialAngle =30;
pieChart.ShadowStyle = System.Drawing.PieChart.ShadowStyle.GradualShadow;
pieChart.BackColor = System.Drawing.Color.Transparent;
}
///<summary>
/// 设置饼状图各项对应的值
///</summary>
///<param name="pieChart"></param>
///<param name="valArray"></param>
publicstaticvoid SetPieChartControl_Values(System.Drawing.PieChart.PieChartControl pieChart, decimal[] valArray)
{
pieChart.Values = valArray;
}
///<summary>
/// 设置饼状图各项对应的颜色
///</summary>
///<param name="pieChart"></param>
///<param name="colArray"></param>
publicstaticvoid SetPieChartControl_Colors(System.Drawing.PieChart.PieChartControl pieChart, Color[] colArray)
{
ArrayList colors =new ArrayList();
foreach (Color col in colArray)
{
colors.Add(Color.FromArgb(125, col));
}
pieChart.Colors = (Color[])colors.ToArray(typeof(Color)); ;
}
///<summary>
/// 设置饼状图各项对应的文本
///</summary>
///<param name="pieChart"></param>
///<param name="textArray"></param>
publicstaticvoid SetPieChartControl_Texts(System.Drawing.PieChart.PieChartControl pieChart, string[] textArray)
{
pieChart.Texts = textArray;
}
///<summary>
/// 设置饼状图各项对应的文本提示
///</summary>
///<param name="pieChart"></param>
///<param name="tipArray"></param>
publicstaticvoid SetPieChartControl_ToolTips(System.Drawing.PieChart.PieChartControl pieChart, string[] tipArray)
{
pieChart.ToolTips = tipArray;
}
}
using System.Collections;
using System.Drawing;
using System.Text;
///<summary>
/// 立体饼状图操作类
///</summary>
publicclass PieChartHelper
{
///<summary>
/// 饼状图初始化设置
///</summary>
///<param name="pieChart"></param>
publicstaticvoid Init_PieChart(System.Drawing.PieChart.PieChartControl pieChart)
{
pieChart.EdgeColorType = System.Drawing.PieChart.EdgeColorType.Contrast;
pieChart.EdgeLineWidth =1;//设置饼块的边框线的宽度
//饼状图(上下左右)距离边框(PieChart控件的边框)都为5
pieChart.LeftMargin = 5f;
pieChart.RightMargin = 5f;
pieChart.TopMargin = 5f;
pieChart.BottomMargin = 5f;
pieChart.FitChart =true;
pieChart.SliceRelativeHeight =0.15f;//设置饼块的厚(高)度
pieChart.InitialAngle =30;
pieChart.ShadowStyle = System.Drawing.PieChart.ShadowStyle.GradualShadow;
pieChart.BackColor = System.Drawing.Color.Transparent;
}
///<summary>
/// 设置饼状图各项对应的值
///</summary>
///<param name="pieChart"></param>
///<param name="valArray"></param>
publicstaticvoid SetPieChartControl_Values(System.Drawing.PieChart.PieChartControl pieChart, decimal[] valArray)
{
pieChart.Values = valArray;
}
///<summary>
/// 设置饼状图各项对应的颜色
///</summary>
///<param name="pieChart"></param>
///<param name="colArray"></param>
publicstaticvoid SetPieChartControl_Colors(System.Drawing.PieChart.PieChartControl pieChart, Color[] colArray)
{
ArrayList colors =new ArrayList();
foreach (Color col in colArray)
{
colors.Add(Color.FromArgb(125, col));
}
pieChart.Colors = (Color[])colors.ToArray(typeof(Color)); ;
}
///<summary>
/// 设置饼状图各项对应的文本
///</summary>
///<param name="pieChart"></param>
///<param name="textArray"></param>
publicstaticvoid SetPieChartControl_Texts(System.Drawing.PieChart.PieChartControl pieChart, string[] textArray)
{
pieChart.Texts = textArray;
}
///<summary>
/// 设置饼状图各项对应的文本提示
///</summary>
///<param name="pieChart"></param>
///<param name="tipArray"></param>
publicstaticvoid SetPieChartControl_ToolTips(System.Drawing.PieChart.PieChartControl pieChart, string[] tipArray)
{
pieChart.ToolTips = tipArray;
}
}
源码示例下载
分类:
C#项目
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探