نمایش نتایج 1 تا 3 از 3

نام تاپیک: پاک کردن یک فولدر یا فایل

  1. #1

    پاک کردن یک فولدر یا فایل

    بسمه تعالی
    سلام خدمت تمامی دوستان

    من تصاویر موجود در یک فولدر را در یک list viewنمایش دادم
    ولی در هنگام پاک کردن یک فایل و یا یک فولدر با error مواجه می شم
    که فایل یا فولدر مورد نظر در حال استفاده است
    هر کاری کردم جواب نگرفتم حتی تمامی تصاویر موجود در imagelist را هم موقع پاک کردن خالی کردم اما
    اگر راهی به نظرتون می رسه ممنون می شم کمک کنید
    :flower:

  2. #2
    سلام آقای کهریزی

    دلیل اینکه شما پس از اضافه کردن فایل ها به ListView نمی توانید آنها را حذف کنید، این است که Stream مربوط به فایل باز می ماند. حتا اگر تصویرها را هم از ImageList حذف کنید، باز هم به دلیل اینکه GarbageCollector در همان لحظه فایل را آزاد نمی کند، بنابراین نمی توانید آن را حذف نمایید.
    راه بهتر استفاده از یک FileStream برای باز کردن فایل و اضافه کردن آن به ListView است. به کد زیر توجه کنید:

    این دو اعلان را در سطح کلاس انجام دهید:

    const string FileName = "Blue Rose.jpg";
    FileStream fs;

    سپس این کد را برای اضافه کردن یک فایل به ListView بنویسید: (lvImages یک شی از ListView است)

    fs = new FileStream( FileName, FileMode.Open );
    Bitmap img = new Bitmap( fs );
    lvImages.LargeImageList = new ImageList();
    lvImages.LargeImageList.Images.Add( img );
    lvImages.Items.Add( "Blue Rose.jpg" );
    lvImages.Items[ 0 ].ImageIndex = 0;

    بسیار خوب اکنون کد حذف تصویر از ListView و حذف فایل آن:

    lvImages.Items.RemoveAt( 0 );
    lvImages.LargeImageList.Images.RemoveAt( 0 );
    fs.Close();
    File.Delete( FileName );


    پیروز باشید
    خدانگهدار
    آریا

  3. #3
    بسمه تعالی
    با سلام خدمت آقا آریا
    و با تشکر از لطف شما
    :flower:

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •