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 SubUsare 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