列表<图像>异常“参数无效”

本文关键字:参数 无效 参数无效 异常 图像 列表 | 更新日期: 2023-09-27 18:34:43

我有List<Image>问题

    List<Image> _Images = new List<Image>();
    int currIndex = 0;
    private void btnAdd_Click(object sender, EventArgs e)
    {
        using (OpenFileDialog dialog = new OpenFileDialog())
        {
            dialog.Filter = "All Images|*.jpg;*.jpeg;*.png;*.bmp;*.gif";
            if (dialog.ShowDialog() == DialogResult.Cancel) 
                return;
            _Images.Add(Image.FromFile(dialog.FileName));
            currIndex = _Images.Count - 1;
            picBox.Image = _Images[currIndex];
        }
    }
    private void btnNext_Click(object sender, EventArgs e)
    {
        if (currIndex + 1 >= _Images.Count)
            return;
        picBox.Image = _Images[++currIndex];
    }
    private void btnBack_Click(object sender, EventArgs e)
    {
        if (currIndex - 1 < 0)
            return;
        picBox.Image = _Images[--currIndex]; 
    }

将两张图像添加到该列表后,当我按下"后退"按钮时出现此异常btnBack_ClickParameter is not valid.
为什么当我第一次添加图像时它起作用picBox.Image = _Images[currIndex];然后当我稍后尝试从索引获取图像时,它给了我这个例外?

注意:我没有使用ImageList,因为据我所知,它具有ImageSize,对于所有图像都是恒定的。

那么我该如何让它工作呢?

更新:
当我将List<Image>更改为List<Stream>时,它现在有效

picBox.Image = Image.FromStream(_Images[--currIndex]); 

列表<图像>异常“参数无效”

List<Image>更改为List<Stream>

picBox.Image = Image.FromStream(_Images[--currIndex]);

然后它就会起作用。