umm haber si más comprendo tu consulta, tu finalidad es solo mostrar las imágenes en un picturebox de una caperta en la que hay todo tipo de archivo
Por ello almacenaste el nombre en un listview y en la otra columna las extenciones. Pues en mi punto de vista si deseas obtener un control de los tipo e arhivos que deseas manipular seria bueno que captures todos los archivos de esta carpeta.
Código:
Dim archivos As String()
archivos = Directory.GetFiles("Ruta de mis archivos")
luego extraes los archivos que cumplan las condiciones, en este caso que sean extenciones .bmp, .jpg, .gif, etc y los almacenes es un arreglo
Código:
Dim MiData As New Hashtable
Dim NumArchivo As Integer = 0
For i As Integer = 0 To archivos.Length - 1 Step 1
Dim f As New FileInfo(archivos(i))
Dim extencion As String = f.Extension
If extencion.Equals(".jpg") Or extencion.Equals(".bmp") Then
MiData.Add(NumArchivo, archivos(i))
NumArchivo += 1
End If
Next
Ahora tienes las direcciones de tus archivos en un arreglo y las puedes mostrar en el orden en la que fueron capturadas en el hastable y cuando hagas click en avanzar y retroceder lo puedes hacer extrayendo los "value" mediente la "key". Utilizando
Código:
'Ejemplo para obtener el nombre de la primera imagen
Código:
Dim PosicionImagen As Integer = 0
Dim f As New FileInfo(MiData.Item(PosicionImagen.ToString))
Dim NombreArchivo As String = f.Name
Usando bucles puedes llenar tu listView con los nombres y controlarlos con los sus indices y si en tu listview se muestran todos los archivos puedes preguntar antes por la extencion de cada archivo recorrido si exite la coinsidencia que sea imagen. Con respecto a los registros has lo mismo manejando arreglos hash así será mas facil ya que la key es un object y puedes almacenar otra referencia que tenga similitud con el otro arreglo.
Bueno espero que te siva estos pequeños consejos, claro lo debes complementar con algunas otras cosas. Suerte Brother