Gracias por la respuesta, pero como lo creo, a ver si alguien tiene un manual o un ejemplo
Bueno, al principio yo echaba de menos esa característica y encontré hasta 3 modos de solventarlo.
Salvo en arrays muy grandes ya no suelo usarlo, esto es si tengo 4 controles que básicamente van a ejecutar la misma rutina y donde luego cada uno hace algo distinto al resto entonces no uso arrays porque no interesa. Para hacer eso mismo simplemente pon el primer control pulsa dobleclick sobre él y se abre la ventana de código si es el evento deseado donde antes ponías por ejemplo:
Select case index
case 0
case 1
case 2
end select
Ahora puedes poner:
select case sender.tag
case 0
case 1
case 2
end select
.... y los nuevos controles que debían ser del array simplemente selecciona en propiedades la ventana de 'eventos' si usaste click elige la misma rutina para ese control, ahora si vas al código verás que pone:
private sub Button1_Click(....) handles.Button1.click , Handles.button2.click .... ' cada botón que enganches aparecerá aquí, sólo falta que asignes la propiedad tag a cada uno,
También puedes usar 'sender.name' en vez de usar el tag, o cualquier otra propiedad....
Si a pesar de todo sigues necesitando usar arrays me indicas y te pondría el código de un ejemplo, pero vamos para arrays de pocos controles no interesa esto es más rápido y no resulta más complejo.