Carece de sentido que en el diseño de la clase "Archivos" implementes un contador de ningún tipo, ya que si no te he entendido mal, la clase archivos se supone que sirve para representar una serie de rutas de archivos que están relacionados entre si, pues bien, eso es correcto, pero en ese caso eso sería todo lo que debes hacer con esa clase...
Así que deberías dar el diseño de esa clase por finalizado, y a partir de ahí eres tú el que debe declarar un contador (fuera de la clase "Archivos") y añadir/mostrar ese contador al añadir cada uno de esos items al ListBox, no al revés, es decir, no debe ser la clase "Archivos" la que deba representar por si misma y mostrar un índice al ser representado como texto ( Archivos.ToString() ) en un control, eso es mezclar cosas que no tienen nada que ver, y por ende no tiene sentido productivo. No se si me he explicado suficientemente bien.
De todas formas no tengo muy claro por que sientes la necesidad de usar una variable-contador que actue como índice de los items representados en el listbox, es decir, el índice del elemento lo puedes obtener directamente en la lista de elementos de dicho ListBox y mostrarlo si quieres junto al nombre del elemento, algo como por ejemplo:
...o en su defecto siempre puedes añadir las instancias de la clase "Archivos" a un diccionario u otra colección apropiada para tus necesidades, en la que usar la "llave" como índice, y luego mostrarlo al añadir el valor/elemento en el listbox.
Pero en fin. Dices que ya lo intentaste con un "integer global" (imagino que te refieres a que usaste el modificador de visibilidad Public Shared) pero "no suma el contador y en todas da 0". Todo esto no se entiende mucho. Para empezar, no se sabe donde lo declaraste, ni cuando y como incrementas su valor, pero algo parece evidente, y es que si su valor siempre es 0, será que la unidad de código donde incrementas el valor nunca se llega a ejecutar, o si se ejecuta pero en realidad no llegas a incrementar el valor. No se pueden sacar otras conclusiones mientras no aportes más información.
Saludos.
Así que deberías dar el diseño de esa clase por finalizado, y a partir de ahí eres tú el que debe declarar un contador (fuera de la clase "Archivos") y añadir/mostrar ese contador al añadir cada uno de esos items al ListBox, no al revés, es decir, no debe ser la clase "Archivos" la que deba representar por si misma y mostrar un índice al ser representado como texto ( Archivos.ToString() ) en un control, eso es mezclar cosas que no tienen nada que ver, y por ende no tiene sentido productivo. No se si me he explicado suficientemente bien.
De todas formas no tengo muy claro por que sientes la necesidad de usar una variable-contador que actue como índice de los items representados en el listbox, es decir, el índice del elemento lo puedes obtener directamente en la lista de elementos de dicho ListBox y mostrarlo si quieres junto al nombre del elemento, algo como por ejemplo:
Código (vbnet) [Seleccionar]
Me.ListBox1.BeginUpdate()
For i As Integer = 0 To (Me.ListBox1.Items.Count - 1)
Me.ListBox1.Items(i) = String.Format("[{0:00}] {1}", i, Me.ListBox1.Items(i))
Next
Me.ListBox1.EndUpdate()
...o en su defecto siempre puedes añadir las instancias de la clase "Archivos" a un diccionario u otra colección apropiada para tus necesidades, en la que usar la "llave" como índice, y luego mostrarlo al añadir el valor/elemento en el listbox.
Pero en fin. Dices que ya lo intentaste con un "integer global" (imagino que te refieres a que usaste el modificador de visibilidad Public Shared) pero "no suma el contador y en todas da 0". Todo esto no se entiende mucho. Para empezar, no se sabe donde lo declaraste, ni cuando y como incrementas su valor, pero algo parece evidente, y es que si su valor siempre es 0, será que la unidad de código donde incrementas el valor nunca se llega a ejecutar, o si se ejecuta pero en realidad no llegas a incrementar el valor. No se pueden sacar otras conclusiones mientras no aportes más información.
Saludos.