关于OpenFileDialog的困惑

时间:2013-12-30 12:38:46

标签: c# .net winforms openfiledialog

我正在关注this 教程并下载源代码进行练习,并且它有效。当我重写代码时会出现问题:只添加一个图像而不是所有选定的图像。我在这里做错了什么?

private void button1_Click(object sender, EventArgs e)
{

    ofd.Filter = "Images (*.BMP;*.JPG;*.GIF,*.PNG,*.TIFF)|*.BMP;*.JPG;*.GIF;*.PNG;*.TIFF|" +
"All files (*.*)|*.*";
    ofd.Multiselect = true;

    if (ofd.ShowDialog() == DialogResult.OK)
    {

        foreach (string name in ofd.FileNames)
        {

            PictureBox imageControl = new PictureBox();
            imageControl.Width = 100;
            imageControl.Height = 100;
            Image.GetThumbnailImageAbort CallBck = new Image.GetThumbnailImageAbort(ThumbnailCallback);
            Bitmap myBitmap = new Bitmap(name);

            Image img = myBitmap.GetThumbnailImage(97, 97, CallBck, IntPtr.Zero);
            imageControl.Image = img;
            panel1.Controls.Add(imageControl);
        }
    }
}

1 个答案:

答案 0 :(得分:3)

我敢打赌他们 都被添加但是他们只是在面板中的位置(0,0)处于彼此之上(你应该单步执行代码检查这虽然)。

解决方案:手动为每个新PictureBox指定位置,或使用布局控件,例如FlowLayoutPanel