我有一个方法可以遍历数据集合,根据从数据库中检索的集合中的数据构建位图,最后将构建的位图添加到我称为DoorSchedules的集合中。什么时候处理图形对象
在我的循环中,如果我在图形上调用.dispose,我会收到一个错误消息。当我不调用属于Graphics对象的.dispose方法时,不会发生此错误。
当我循环时应该在图形对象上调用dispose时,是否为每个循环创建一个新的图形对象?
下面的代码工作,直到我取消注释dc.Dispose。
DoorSchedules schedules = new DoorSchedules();
for (byte i = 0; i < elevation.Bays.Count; i++)
{
if (elevation.Bays[i].HasDoor.Value)
{
for (byte ii = 0; ii < elevation.Bays[i].Doors.Count; ii++)
{
door = elevation.Bays[i].Doors[ii];
width = getInchPx(door.WidthInches);
height = getInchPx(door.HeightInches);
Bitmap canvas = new Bitmap((int)width + DOOR_SCHEDULE_WIDTH_ADD,
(int)height + DOOR_SCHEDULE_HEIGHT_ADD);
Graphics dc = Graphics.FromImage(canvas);
..work removed for readability for stackoverflow.
schedules.Add(new DoorSchedule(canvas));
//dc.Dispose();
};
};
};
“我收到一个错误”。谨慎与我们分享? –
什么方法调用会给你一个错误,什么是错误? –
由于某些奇怪的原因,我无法重现错误。当它再次抛出时,我会发布错误。 –