JavascriptProva

domenica 12 agosto 2012

Adattamento delle labels alle dimensioni del form

Ora ho alcuni problemi...
Devo adattare l'altezza delle labels alle dimensioni del form.
Questo è il codice che ho trovato.
Non mi piace molto, perchè ho dovuto togliere una fetta arbitraria all'altezza del form per evitare che l'ultima label fosse "spezzata"... ci deve essere qualcosa che non torna... forse è perchè il risultato del rapporto fra l'altezza dell'area client del form e il numero di labels restituisce cifre decimali.
Public Class Form1
    Dim lblMorning, lblAfternoon, lblNight As ArrayList

    Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
        lblNight(13).backcolor = Color.Red
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        lblMorning = New ArrayList
        lblAfternoon = New ArrayList
        lblNight = New ArrayList
        Dim numero, vertSpace, horSpace As Integer
        numero = 31
        vertSpace = 0
        horSpace = 2
        popola(0, numero, vertSpace, horSpace, lblMorning)
        popola(1, numero, vertSpace, horSpace, lblAfternoon)
        popola(2, numero, vertSpace, horSpace, lblNight)

    End Sub
    Sub popola(ByVal ordine, ByVal numero, ByVal vertSpace, ByVal horSpace, ByVal lblArray)
        Dim etichetta As Label
        For n = 0 To numero
            etichetta = New Label
            With etichetta
                .Text = n + 1
                .Height = (Me.ClientSize.Height - 50) / (numero - 1)
                .BackColor = Color.White
                .BorderStyle = BorderStyle.FixedSingle
                .Left = (.Width + horSpace) * ordine
                .Top = (etichetta.Height + vertSpace) * (n Mod numero)
            End With
            Me.Controls.Add(etichetta)
            lblArray.add(etichetta)
        Next
    End Sub
End Class
C'è sempre l'evento sentinella, che a questo punto potrei anche togliere perchè è assodato che la creazione di matrici mediante gli oggetti ArrayList funziona egregiamente.

Nessun commento:

Posta un commento