[Solved] To clear loaded images in a picturebox-c#

[ad_1]

Your code has many issues.

The one you are looking for is that you don’t clear the alist before loading new file names.

So insert:

    alist.Clear();

before

    //Get Each files 

And also

   filelength = alist.Count;

after the loop. No need to count while adding!

Also note that ArrayList is pretty much depracated and you should use the type-safe and powerful List<T> instead:

List<string> alist = new List<string>();

Of course a class variable named i is silly and you are also relying on always having a SelectedItem in the comboBox2.

And since you are not properly Disposing of the Image you are leaking GDI resources.

You can use this function for properly loading images:

void loadImage(PictureBox pbox, string file)
{
    if (pbox.Image != null)
    {
        var dummy = pbox.Image;
        pbox.Image = null;
        dummy.Dispose();
    }
    if (File.Exists(file)) pbox.Image = Image.FromFile(file);
}

It first creates a reference to the Image, then clears the PictureBox‘s reference, then uses the reference to Dispose of the Image and finally tries to load the new one.

[ad_2]

solved To clear loaded images in a picturebox-c#