Rectangle rec = new Rectangle(e.Bounds.X + 327, e.Bounds.Y, this.Width/3, this.Height);
if (ProgressBarRenderer.IsSupported)
{
ProgressBarRenderer.DrawHorizontalBar(e.Graphics, rec);
}
//边框颜色
Pen pen = new Pen(Color.Black, 1);
e.Graphics.DrawRectangle(pen, rec);
//绘制进度条空白处
e.Graphics.FillRectangle(new SolidBrush(this.BackColor), e.Bounds.X + 327, e.Bounds.Y, rec.Width/2, rec.Height/2);
//进度绘制
string s = e.CellValue as string;
string str = s; //s.Substring(0, e.CellValue.ToString().Length - 1);
for (int i = 0; i < serverList.Count; i++)
{
string servername = serverList[i].name;
if (servername == str)
{
s = serverList[i].online_count_int.ToString();
break;
}
}
// s = "10";
decimal percent = Convert.ToDecimal(s);
int width = (int)(100 * Math.Abs(percent / 50) * e.Bounds.Width / 50);
Rectangle rect = new Rectangle(e.Bounds.X+327, e.Bounds.Y, width, e.Bounds.Height);
Brush b = Brushes.Green;
if (percent > 20)
{
b = Brushes.Red;
}
else if (percent > 10)
{
b = Brushes.Yellow;
}
e.Graphics.FillRectangle(b, rect);