C# 将不同目录中的图像加载到滚动面板

C# 将不同目录中的图像加载到滚动面板,c#,visual-studio-2010,C#,Visual Studio 2010,我正在实现一个应用程序: 自动将“我的图片”文件夹中的图像加载到面板 表单已加载。(您可以找到代码) 在我的程序中还有另一个功能:打开文件夹,使用户 打开文件夹并将其图像加载到同一面板 我的问题是: 当我选择打开一个新文件夹时,该文件夹的图像会显示在“我的图片”文件夹的图像下,我知道问题出在哪里,但不知道如何解决 用于从“我的图片”自动加载图像的代码包含一个名为Position的变量,该变量定义当前PictureBox控件的位置,其初始值为0 //2 variables, one for t

我正在实现一个应用程序:

  • 自动将“我的图片”文件夹中的图像加载到面板 表单已加载。(您可以找到代码)

  • 在我的程序中还有另一个功能:打开文件夹,使用户 打开文件夹并将其图像加载到同一面板

我的问题是: 当我选择打开一个新文件夹时,该文件夹的图像会显示在“我的图片”文件夹的图像下,我知道问题出在哪里,但不知道如何解决

用于从“我的图片”自动加载图像的代码包含一个名为Position的变量,该变量定义当前PictureBox控件的位置,其初始值为0

//2 variables, one for the Y position of the current PictureBox control
            //and one for help count the number of images in the directory
            int position = 0;
            int count = 0;
“打开文件夹”的代码与我从图片中加载图像时使用的代码相同,位置初始值也是0! 这就是为什么新加载的图像显示在旧图像下的原因

private void openFolderToolStripMenuItem_Click(object sender, EventArgs e)
        {
            toolStripStatusLabel1.Text = "Getting files.....";

            int position = 0;
            int count = 0;
我如何解决这个问题?我想保存最新创建的PictureBox的位置,然后在
private void openFolderToolStripMenuItem\u单击

谢谢

试着这样做

        int position = 0;
        int count = 0;
        private void openFolderToolStripMenuItem_Click(object sender, EventArgs e)
        {
            toolStripStatusLabel1.Text = "Getting files.....";
            //your work
        }
因此,当您再次调用此位置时,位置将不会为“0”\

编辑 我读到了那个链接

PictureBox pb = new PictureBox();
创建动态的控件,用于删除旧图像

private void openFolderToolStripMenuItem_Click(object sender, EventArgs e)
        {
        foreach (Control ctrl in this.Controls)
        {
            if (ctrl is PictureBox)
                this.Controls.Remove(ctrl);
        }
        //Your code

你想删除旧照片吗?我已经读了你的问题好几遍了,我很难理解这个问题。如果我不是唯一一个,请尝试重新表述您的问题。@grandmaster如果我发布了代码链接,您可以检查它now@Likurg不,实际上我想加载要与旧图片一起显示的图片。我怎样才能删除旧的问题?@Ken对不起,我的英语不是很好,我试着编辑这个问题,让它更清楚。谢谢,但是您将0指定为方法正上方位置的初始值。我试过了,但没有成功。我认为我能做的唯一解决办法是清除并删除面板中所有加载的图像,然后加载新图像,但我如何删除它们?@Aram toti你在哪里加载它们?我需要控件名,并演示如何添加图片我将图片加载到面板,如本教程所示。。我还想通过单击“打开文件夹”按钮选择另一个文件夹来加载更多图片,这样面板将包含默认文件夹中加载的图片和我选择的文件夹中的图片。但是正如我提到的,由于openfolder方法中的position初始值是0,所以新加载的图片将位于旧图片之下。