Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从文件夹[VB.NET]加载图像_Vb.net_Visual Studio 2015 - Fatal编程技术网

从文件夹[VB.NET]加载图像

从文件夹[VB.NET]加载图像,vb.net,visual-studio-2015,Vb.net,Visual Studio 2015,我目前的程序有问题。我想为我的女朋友创建一个照片库,她可以安装在她的电脑上。我想在表单加载时从文件夹导入图像,并将其显示在PictureBox中 当我加载表单时,我会得到一个大的红色“X”,它填充了这个框。看起来像drawing.bitmap ErrorImage。有什么问题吗?非常感谢您的帮助。多谢各位 Private Sub Pigge_Gallary_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim

我目前的程序有问题。我想为我的女朋友创建一个照片库,她可以安装在她的电脑上。我想在表单加载时从文件夹导入图像,并将其显示在PictureBox中

当我加载表单时,我会得到一个大的红色“X”,它填充了这个框。看起来像drawing.bitmap ErrorImage。有什么问题吗?非常感谢您的帮助。多谢各位

    Private Sub Pigge_Gallary_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim directory As New IO.DirectoryInfo("C:\Pics\Bears")
    If directory.Exists Then
        Dim jpgFiles() As IO.FileInfo = directory.GetFiles("*.jpg")
        For Each jpgFile As IO.FileInfo In jpgFiles
            If jpgFile.Exists Then
                Dim image = Drawing.Image.FromFile(jpgFile.FullName)
                Using image
                    PicPig.Image = image
                End Using
            End If
        Next
    End If
End Sub

一旦使用块退出
,图像引用将丢失

试着改变

PicPig.Image = image

或者将其设置为文件中的图像:

PicPig.Image = Drawing.Image.FromFile(jpgFile.FullName)

另外,因为您是在For循环中进行的,所以它只是在循环时替换picturebox图像。当循环结束时,picturebox将只显示最后一幅图像。

像这样在列表中迭代只会显示最后一幅图像,因此整个循环毫无意义。此外,正如Chase Rocker在回答中指出的那样,在加载图像后,您将立即对其进行处理。
PicPig.Image = Drawing.Image.FromFile(jpgFile.FullName)