winform中实现饼图可使用zedgraph,ms chart
GDI
http://topic.csdn.net/u/20100208/10/11ece9e2-14ea-4dac-b0ae-b2694fe55639.html

解决方案 »

  1.   

    有没有基本的模板,网上有的不能运行  有的是web的。。
      

  2.   

    我用的DevExpress 控件 ,饼图还是很不错的各种图表都有
      

  3.   

    用GDI+绘图不可以吗、?我们学的时候好像就是用GDI+绘的!
      

  4.   

    嗯嗯,再问呢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里的数值。
      

  5.   

    http://www.cnblogs.com/ly5201314/archive/2009/04/01/1427226.html