¿ Sabéis como se le llama a esto o tenéis algún ejemplo que me pueda servir para usarlos ?
Se denomina "Array de controles", pero si nos ponemos tecnicistas y nos fijamos en el detalle de usar una variable de esa forma, eso se denomina "Variables dinámicas", y bueno, lo del índice ya te lo han explicado.
...hastable ...parece que se usan para meter dentro de ellos un grupo de botones o eso creo. ¿ Estoy equivocado ?.
¿Equivocado?, pues eso depende de como se mire, más bien confuso...
...Un hastable es un "contenedor" donde puedes meter objetos de cualquier tipo, pero no es algo que exprésamente existe para meter controles "indexados", de hecho si solo quieres crear un "contenedor" con objetos de un solo tipo (Botónes) entonces te recomiendo que mejor uses un "Dictionary".
El Hashtable es para meter distintos objetos sin que haya problemas (por ejemplo un objeto de un control, y aparte una variable "Integer", y otra de tipo "String"), pero si quisieras añadir un tipo de objeto, aunque puedes usar cualquiera de los dos, lo correcto sería usar la Class "Dictionary".
La diferencia es que en el Dictionary tienes que definir el tipo de objeto y valor, y en el hashtable no, lo puedes meter todo sin preocupaciones, así que si no tienes cuidado con el hashtable ...la puedes liar parda.
Te hago un ejemplo:
Dim MyDictionary
As New Dictionary(Of Integer,
Boolean)
MyDictionary.Add(1, True)
MyDictionary.Add(2, False)
MyDictionary.Add(3, Nothing)
' Set value
MyDictionary.Item(1) = False
' Get Value
MsgBox(MyDictionary.Item(1))
Dim MyHashtable As New Hashtable
MyHashtable.Add(1, True)
MyHashtable.Add(Button1, False)
MyHashtable.Add("1", Nothing)
' Set value
MyHashtable.Item(1) = False
MyHashtable.Item("1") = True
' Get Value
MsgBox(MyHashtable.Item(1))
MsgBox(MyHashtable.Item("1"))
Saludos.