0
我是C#的新手,但我一直在練習製作圖表和圖形。我爲之前的程序製作了一張餅圖,而且我幾乎只是將該格式複製並粘貼到我的新程序中,但它不起作用。這是設置餅圖的功能。我可能做了一些愚蠢的事情,並沒有意識到這一點。洛爾在C#中創建餅圖 - 由於某種奇怪的原因而無法工作
public void setup_pieChart()
{
float total_count = 0;
for (int k = 0; k < referrals.Count(); k++)
{
total_count += referrals[k].count;
}
if (total_count > 0)
{
Array.Sort(referrals);
// ----------------------- CREATE PIE CHART ---------------------//
Graphics g = this.CreateGraphics();
Pen pen = new Pen(Color.Black, 2);
Rectangle rec = new Rectangle(referralBox.Location.X + referralBox.Size.Width + 10, 25, 200, 200);
g.Clear(Color.White);
float degreeSum = 0;
for (int k = 0; k < referrals.Count(); k++)
{
referrals[k].degrees = (referrals[k].count/total_count) * 360;
g.DrawPie(pen, rec, degreeSum, referrals[k].degrees);
g.FillPie(new SolidBrush(referrals[k].color), rec, degreeSum, referrals[k].degrees);
degreeSum += referrals[k].degrees;
Console.WriteLine("count " + referrals[k].count);
Console.WriteLine("degree " + referrals[k].degrees);
Console.WriteLine("color " + referrals[k].color.ToString());
}
}
}
我想通了。我必須觸發事件才能顯示圖形 – 2012-07-28 23:26:49
需要丟棄筆,畫筆和圖形對象。 – Brannon 2012-07-29 04:21:01
_Graphics g = this.CreateGraphics(); _ Dead at arrival。永遠不要使用contro.CreateGraphics來保存圖形。 – TaW 2016-08-27 08:55:56