Utilizzare la proprietà .Tag come un array di tipo Variant

Da Gambas-it.org - Wikipedia.

La Proprietà .Tag di un oggetto può essere anche utilizzata come un array di tipo Variant, e pertanto capace di contenere valori di diverso tipo.

Affinché ciò sia possibile, è necessario assegnare alla Proprietà .Tag un array di valori:

oggetto.Tag = [valore_1, valore_2, etc...]

Mostriamo un esempio, nel quale la proprietà .Tag di un Button conterrà valori di diverso tipo: una stringa, un valore numerico, una variabile di tipo Struttura, una variabile array di tipo byte, una variabile stringa ed una di tipo byte;

Public Struct provStrutt
  a As Byte
  b As Integer
  c As String
End Struct

Private pStr As New ProvStrutt


Public Sub Button1_Click()

 Dim prova As String = "prova Tag"
 Dim arrarr As New Byte[]
 Dim j As Byte

 With pStr
   .a = 10
   .b = 1000
   .c = "c = " & Str(.a + .b)
 End With

 For j = 0 To 9
   arrarr.Add(j + 100)
 Next

 With Button1
' Assegno un array formato da valori e variabili al .Tag del Button:
   .Tag = ["testo qualsiasi", 324, prova, arrarr, pStr]
' Poi li vado a vedere:
   Print .Tag[0]
   Print .Tag[1]
   Print .Tag[2]
   Print .Tag[3]
' Mostra i valori assegnati agli elementi della variabile array:
   For j = 0 To 9
     Print .Tag[4][j]
   Next
' Mostra i valori contenuti dagli elementi della variabile di tipo "Struttura":
   Print .Tag[5].a
   Print .Tag[5].b
   Print .Tag[5].c
 End With

End