Суть проблемы такая :
Имеется на форме DataGridView контрол. В первой ячейке каждой строки есть картинка.
Всё это дело по нажатии кнопки отправляется в вэб. Но есть проблема. Постоянно ругается на то что не может использовать конкреьный имедж потому что уже занят он другим процессом.
The process cannot access the file 'blablabla.jpg' because it is being used by another process.
Везде где можно я делаю Dispose() на имедж но всё одно не помогает
Вот как я это делаю загружая DataGridView из DataSet'а
private void dataGridView1_CellFormatting(object sender, System.Windows.Forms.DataGridViewCellFormattingEventArgs e)
{
if (this.dataGridView1.Columns[e.ColumnIndex].Name.Equals("iconFileName"))
{
String stringValue = e.Value as string;
if (stringValue == null) return;
Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);
Bitmap imageBitmap, imageBitmap2;
if (stringValue != "")
{
try
{
imageBitmap = new Bitmap(stringValue);
imageBitmap2 = (Bitmap)imageBitmap.Clone();
imageBitmap.Dispose();
}
catch (System.Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
imageBitmap = new Bitmap(global::MediaFileUpload.Properties.Resources.default_icon);
imageBitmap2 = (Bitmap)imageBitmap.Clone();
imageBitmap.Dispose();
}
}
else
{
imageBitmap = new Bitmap(global::MediaFileUpload.Properties.Resources.default_icon);
imageBitmap2 = (Bitmap)imageBitmap.Clone();
imageBitmap.Dispose();
}
Image myThumbnail = imageBitmap2.GetThumbnailImage(64, 48, myCallback, IntPtr.Zero);
e.Value = myThumbnail;
imageBitmap2.Dispose();
}
}
public bool ThumbnailCallback()
{
return false;
}