C# winform 饼图 winform中实现饼图可使用zedgraph,ms chartGDIhttp://topic.csdn.net/u/20100208/10/11ece9e2-14ea-4dac-b0ae-b2694fe55639.html 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有没有基本的模板,网上有的不能运行 有的是web的。。 我用的DevExpress 控件 ,饼图还是很不错的各种图表都有 用GDI+绘图不可以吗、?我们学的时候好像就是用GDI+绘的! 嗯嗯,再问呢private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; //3D Pie chart g.SmoothingMode = SmoothingMode.AntiAlias; Rectangle er=new Rectangle(300, 150, 300, 200); Rectangle br=er; br.Offset(0,30); g.DrawEllipse(Pens.Gray, br); g.FillPie(new SolidBrush(Color.FromArgb(200, Color.Red)), er, 0, 120); g.FillPie(new SolidBrush(Color.FromArgb(200, Color.Purple)), er, 120, 100); g.FillPie(new SolidBrush(Color.FromArgb(200, Color.Blue)), er, 220, 140); GraphicsPath gpg = new GraphicsPath(); gpg.AddArc(er, 0, 180); gpg.AddLine(er.Left, er.Top + er.Height / 2, br.Left, br.Top + br.Height / 2); gpg.AddArc(br, 0, 180); gpg.AddLine(br.Left + br.Width, br.Top + br.Height / 2,er.Left + er.Width, er.Top + er.Height / 2); //Draw pie borders g.DrawPie(Pens.Goldenrod, er, 0, 120); g.DrawPie(Pens.Goldenrod, er, 120, 240); g.DrawEllipse(Pens.Goldenrod, er); //multi color gradient Point StartPoint = new Point(er.Left,0); Point EndPoint = new Point(er.Left + er.Width, 0); Color[] GColors ={ Color.Red, Color.White, Color.Red }; float[] GPoints ={ 0.0f, 0.8f, 1.0f }; ColorBlend CB = new ColorBlend(); CB.Colors = GColors; CB.Positions = GPoints; LinearGradientBrush lgb = new LinearGradientBrush(StartPoint, EndPoint, Color.Red, Color.Red); lgb.InterpolationColors = CB; g.FillPath(lgb, gpg); lgb.Dispose(); gpg.Dispose(); g.Dispose(); }这个代码生成了一个饼图,那怎么改变他的大小,通过textbox里的数值。 http://www.cnblogs.com/ly5201314/archive/2009/04/01/1427226.html datalist里的table根据数据换背景 c# 预编译 问题 如何从ORACLE中复制表到SQL 问大家一个菜单设计问题 数据采集,正则表达式匹配问题 (急求!)在C#下,如何获得当前登录的用户(不是程序进程)属于哪个用户组? 请问winform中几个textbox,如保对齐 第一次选择ListBox里的项时OnDrawItem会运行两次,为什么? 画柱图坐标问题? 求教,谁能用C#写一段代码,要求在屏幕上打印出一个倒三角 求经典的斐波拉契数 静态成员初始化之后什么时候会释放?是在程序完全结束后被释放吗?与全局变量有什么不同?
{
Graphics g = e.Graphics;
//3D Pie chart
g.SmoothingMode = SmoothingMode.AntiAlias;
Rectangle er=new Rectangle(300, 150, 300, 200);
Rectangle br=er;
br.Offset(0,30); g.DrawEllipse(Pens.Gray, br);
g.FillPie(new SolidBrush(Color.FromArgb(200, Color.Red)), er, 0, 120);
g.FillPie(new SolidBrush(Color.FromArgb(200, Color.Purple)), er, 120, 100);
g.FillPie(new SolidBrush(Color.FromArgb(200, Color.Blue)), er, 220, 140); GraphicsPath gpg = new GraphicsPath();
gpg.AddArc(er, 0, 180);
gpg.AddLine(er.Left, er.Top + er.Height / 2, br.Left, br.Top + br.Height / 2);
gpg.AddArc(br, 0, 180);
gpg.AddLine(br.Left + br.Width, br.Top + br.Height / 2,er.Left + er.Width, er.Top + er.Height / 2);
//Draw pie borders
g.DrawPie(Pens.Goldenrod, er, 0, 120);
g.DrawPie(Pens.Goldenrod, er, 120, 240);
g.DrawEllipse(Pens.Goldenrod, er); //multi color gradient
Point StartPoint = new Point(er.Left,0);
Point EndPoint = new Point(er.Left + er.Width, 0);
Color[] GColors ={
Color.Red,
Color.White,
Color.Red
};
float[] GPoints ={
0.0f,
0.8f,
1.0f
};
ColorBlend CB = new ColorBlend();
CB.Colors = GColors;
CB.Positions = GPoints;
LinearGradientBrush lgb = new LinearGradientBrush(StartPoint, EndPoint, Color.Red, Color.Red);
lgb.InterpolationColors = CB; g.FillPath(lgb, gpg);
lgb.Dispose();
gpg.Dispose();
g.Dispose();
}
这个代码生成了一个饼图,那怎么改变他的大小,通过textbox里的数值。