Di solito si usa un metodo diverso.
Si prepara un array (o un List o altro):
Dim Numeri(90) As Int ' da 0 a 89 - stiamo giocando al Lotto, vero?
For n = 0 to 89
Numeri(n) = n + 1
Next
Dim NumeriDisponibili As Int = 90
Dim x As Int
x = Rnd(0, NumeriDisponibili)
lblNumero(0).Text = Numeri(x)
' si scambia l'ultimo numero in fondo all'array con quello "estratto"
Dim Buffer As Int = Numeri(NumeriDisponibili)
Numeri(NumeriDisponibili) = Numeri(x)
Numeri(x) = Buffer
' e si diminuisce il numero di numeri disponibili!
NumeriDisponibili = NumeriDisponibili - 1
' così al successivo:
x = Rnd(0, NumeriDisponibili)
l'ultimo numero non potrà uscire di nuovo ed è quello già uscito.
' Inizializzazione
Dim Numeri(90) As Int
For n = 0 to 89
Numeri(n) = n + 1
Next
Dim NumeriDisponibili As Int
' Estrazione
NumeriDisponibili = 90
For E = 0 to 4
Dim x As Int
x = Rnd(0, NumeriDisponibili)
lblNumero(E).Text = Numeri(x)
' si scambia l'ultimo numero in fondo all'array con quello "estratto"
Dim Buffer As Int = Numeri(NumeriDisponibili)
Numeri(NumeriDisponibili) = Numeri(x)
Numeri(x) = Buffer
' e si diminuisce il numero di numeri disponibili!
NumeriDisponibili = NumeriDisponibili - 1
Next
Nota che l'ho scritto qui, al volo, quindi magari c'è qualche bug dovuto alla solita faccenda della base 0 degli array o altro
P.S. Se fai cinquina, ricordati di me