See if this helps.
1 Button, 1 Panel (for loading image(s)).

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Panel1.AutoScroll = True '// Scrollbar(s) if needed.
        Button1.Text = "Load Images" : Button1.Width = 96
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim ofd As New OpenFileDialog
        With ofd
            .Multiselect = True '// allows to MultiSelect Images/Files.
            .Title = "Please select one or more images to load..." '// Title for the OpenFileDialog.
            '// Filters for Images/Files.
            .Filter = "All Images (*.jpg,*.jpeg,*.gif,*.png,*.bmp)|*.jpg;*.jpeg;*.gif;*.png;*.bmp|" _
                     & "JPEG Images (*.jpg,*.jpeg)|*.jpg;*.jpeg|GIF Images (*.gif)|*.gif|PNG Images (*.png)|*.png|Bitmaps (*.bmp)|*.bmp"
            If .ShowDialog = DialogResult.OK Then
                Panel1.Controls.Clear() '// Clear Previous PictureBox(es).
                Dim iX As Integer = 0 '// Location.X for each PictureBox.
                Dim iPbWidth As Integer = 175, iPbHeight As Integer = 175 '// Preset Width and Height.
                For Each selectedImage As String In .FileNames '// Loop thru all Selected Images.
                    Dim pb As New PictureBox '// Create new PictureBox.
                    pb.Image = Image.FromFile(selectedImage) '// Set Image to new PictureBox.
                    pb.SizeMode = PictureBoxSizeMode.AutoSize '// Set .SizeMode to determine if PictureBox needs to display as "Zoom" or "CenterImage".
                    If pb.Width > iPbWidth OrElse pb.Height > iPbHeight Then '// if image loaded is greater in width/height than the Preset Sizes...
                        pb.SizeMode = PictureBoxSizeMode.Zoom '// Zoom image.
                        pb.SizeMode = PictureBoxSizeMode.CenterImage '// Center image.
                    End If
                    pb.Size = New Size(iPbWidth, iPbHeight) '// set preset Size for PictureBox.
                    pb.Location = New Point(iX, 0) '// add Location.
                    pb.BorderStyle = BorderStyle.FixedSingle '// set Border if needed to define each image as it's own.
                    Panel1.Controls.Add(pb) '// Add PictureBox to Panel.
                    iX += pb.Width + 5 '// set new Location.X for the next PictureBox.
            End If
        End With
    End Sub
End Class
This article has been dead for over six months. Start a new discussion instead.