PDA

View Full Version : سوال: حذف فایل



Mohamad_Gha3mi
دوشنبه 25 بهمن 1389, 09:42 صبح
سلام به همگی...

دوستان من یک سری عکس رو توی چندتا PictureBox توی فرمم نشون میدم.

میخوام وقتی با کلیک راست روی PicureBox و زدن دکمه حذف، فایل رو از روی هارد حذف کنم به طوری که هم

فایل عکس پاک بشه هم یکی از PicureBoxهام کم بشه. که پیغام خطا ی (فایل مورد نظر توسط یک پراسس

دیگه داره استفاده میشه) رو میده!

پراسس دیگه همین برنامه خودمه؟

فایل رو چطور پاک کنم؟

hi level hdd
دوشنبه 25 بهمن 1389, 10:30 صبح
سلام برای حذف فایل
اول باید عکس داخل pictureBox را برابر null کنی
تا ازت خطا نگیره و بعد اگه آدرس عکسو داری از دستور زیر استفاده کن
system.io.file.delete() و آدرس فایلو داخل پرانتز بنویس . حتما مقدار Image در PictureBox
باید null شود برای حذف خود PictureBox هم اسمشو صدا بزن و تابع Dispose() مربوط به اونو فراخونی کن

Mohamad_Gha3mi
دوشنبه 25 بهمن 1389, 10:43 صبح
ممنونم ولی مشکل هنوز حل نشده

کدی که نوشتم اینه



DirectoryInfo ArchivePath = new DirectoryInfo(@"c:\Pic");
foreach (FileInfo fi in ArchivePath.GetFiles())
ArchiveDataGridView.Rows.Add(IconReader.GetFileIco n(fi.FullName, IconReader.IconSize.Large, false), fi.Name, Image.FromFile(fi.FullName), null, fi.FullName);


البته توی این کد عکس ها رو در یک GridView که نمایش میدم

66335

من هم Cells[2] مورد نظر که داره عکس رو نشون میده null کردم نشد و هم کل رکورد رو حذف کردم ولی هنوز همون ارور رو میده

shuriken
دوشنبه 25 بهمن 1389, 11:05 صبح
البته اگه اول خود Picturebox رو Dispose بکنی بعد فایلو پاک کنی احتمال ایجاد خطا کمتر هم میشه

hi level hdd
سه شنبه 26 بهمن 1389, 10:28 صبح
سلام
کد
ArchiveDataGridView.Rows.Add(IconReader.GetFileIco n(fi.FullName, IconReader.IconSize.Large, false), fi.Name, Image.FromFile(fi.FullName), null, fi.FullName);
اگه این کد مربوط به نمایش عکستونه میتوانید شماره سطرشو پیدا کنید
و مقدارشو برابر null کنید. البته من با ArchiveDataGridView کار نکردم