在我目前的项目中,有几个实例需要一排指标(使用26x26 PNG图标)。在这种情况下,它是DataGridView
(更具体地说,是Telerik RadGridView
)。图像从资源文件加载并存在。
我的当前代码在创建行时定义了这些指标:
Bitmap indicators;
List<Bitmap> content = new List<Bitmap>();
if (l.Condition1 == true)
content.Add(myProj.Properties.Resources.One);
if (l.Condition2 == true)
content.Add(myProj.Properties.Resources.Two);
if (l.Condition3 == true)
content.Add(myProj.Properties.Resources.Three);
if (content.Count() != 0)
{
int width = content.Select(w => w.Width).Sum();
indicators = new Bitmap(width, 26);
using (Graphics g = Graphics.FromImage(indicators))
{
int origin = 0;
foreach (Bitmap p in content)
{
g.DrawImage(p, new Point(origin, 0));
origin += p.Width;
}
row.Cells[15].Value = indicators;
}
}
不幸的是,这段代码不起作用(图像根本不显示),我无法理清我错过的内容。如果我只加载一个图像而不使用循环,则将图像分配给Value
属性。我忽略了什么是阻止这种工作和这些指标显示?