JavascriptProva

martedì 11 settembre 2012

Disposizione di elementi in colonna

Riparto da zero.
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