If you call
Rows.Add
for each picture, it shouldn't come as a surprise when your code adds a new row for each picture. :)
If you want to add all of the pictures as columns to a single row, then you'll need to add a single row, and add the images to that row.
If ofd.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim fileCount = ofd.FileNames.Length
Dim images(fileCount - 1) As Image
For i As Integer = 0 To fileCount - 1
If i >= DataGridView1.Columns.Count Then
Dim col As New DataGridViewImageColumn()
col.Width = 200
DataGridView1.Columns.Add(col)
End If
images(i) = Image.FromFile(ofd.FileNames(i))
Dim pic As New PictureBox()
pic.Image = images(i)
pic.SizeMode = PictureBoxSizeMode.StretchImage
pic.SetBounds(wid, 20, 200, 100)
AddHandler pic.Click, AddressOf convertPic
Me.Panel1.Controls.Add(pic)
wid += 205
Next
PictureBox1.Image = images(fileCount - 1)
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
DataGridView1.Rows.Add(images)
End If