}
#endregion
/// <summary>
/// 在畫佈上面繪製矩形
/// </summary>
private void Draw_Rectangle()
{
int i;
PointF symbolLeg = new PointF(335,20);
PointF descLeg = new PointF(360,16);
for (i = 0; i < arrValueNames.Length; i )
{
graphics.FillRectangle(new SolidBrush(GetColor(i)),symbolLeg.X,symbolLeg.Y,20,10);
graphics.DrawRectangle(Pens.Black,symbolLeg.X,symbolLeg.Y,20,10);
graphics.DrawString(arrValueNames[i].ToString(),new Font("新細明体",8),Brushes.Black,descLeg);
symbolLeg.Y = 15;
descLeg.Y = 16;
}
for (i = 0; i < arrValues.Length; i )
{
graphics.FillRectangle(new SolidBrush(GetColor(i)),(i*35) 15,200 - arrValues[i],20,arrValues[i]);
graphics.DrawRectangle(Pens.Black,(i*35) 15,200 - arrValues[i],20,arrValues[i]);
}
}
/// <summary>
/// 在畫佈上面繪製圓餅形
/// </summary>
private void Draw_Pie()
{
int i;
// currentangle代表當前角度 totalangle代表最大角度 totalvalues代表最大的銷售額
float sglCurrentAngle = 0,sglTotalAngle = 0,sglTotalValues = 0;
// 計算最大銷售額
for (i = 0; i < arrValues.Length; i )
sglTotalValues = arrValues[i];
for (i = 0; i < arrValues.Length; i )
{
// 當月角度值 : 當月銷售額 / 最大銷售額 * 360
sglCurrentAngle = arrValues[i] / sglTotalValues * 360;
graphics.FillPie(new SolidBrush(GetColor(i)),240,95,100,100,sglTotalAngle,sglCurrentAngle);
graphics.DrawPie(Pens.Black,240,95,100,100,sglTotalAngle,sglCurrentAngle);
sglTotalAngle = sglCurrentAngle;
}
}
#region Helper Function
private Color GetColor(int itemIndex)
{
Color color;
switch(itemIndex)
{
case 0:
color = Color.Blue;
break;
case 1:
color = Color.Red;
break;
case 2:
color = Color.Yellow;
break;
case 3:
color = Color.Purple;
break;
case 4:
color = Color.Orange;
break;
case 5:
color = Color.Brown;
break;
default:
color = Color.Blue;
break;
}
return color;
}
#endregion
}
}
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



