Ho bisogno di tante labels che vengano messe in colonna, ognuna delle quali rechi la data di un giorno del mese, dal primo all'ultimo giorno.
Inizio con un numero arbitrario 10
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'numero delle caselle
Dim numero As Integer = 10
'definizione della variabile oggetto
Dim casella As Label
For n = 0 To numero - 1
casella = New Label
'attribuzione delle proprietà alla label appena istanziata
With casella
.BorderStyle = BorderStyle.FixedSingle
.Left = 0
.Top = .Height * (n Mod numero)
End With
Me.Controls.Add(casella)
Next
End Sub
Usare il Modulo è ingegnoso.0/numero dà come resto 0, 1/numero dà come resto 1, 2/numero dè come resto 2, fino a (numero-1)/numero chè dà come resto numero-1.
Per ogni dividendo minore del divisore, l'operazione dà come resto il dividendo stesso. Quindi moltiplicando l'altezza dell'elemento per il resto della divisione fra il numero d'ordine dell'elemento e il numero degli elementi meno uno, e impostando la posizione verticale dell'elemento a questo numero, si ha che il primo elemento è alla posizione altezza x 0, ossia zero, il secondo a altezza x 1, il secondo a altezza x 2 fino all'ultimo, in cui la posizione è altezza x (numero-1).
Nessun commento:
Posta un commento