JavascriptProva

domenica 11 agosto 2013

Inserimento di spaziature orizzontali e verticali nella mia classe griglia.

Come si dichiarano i parametri opzionali?
con Optional, come in VB6.
Però è necessario stabilire anche il valore di default.

Inserisco una spaziatura orizzontale e una verticale nella mia classe griglia, come parametri opzionali con valore di default zero, in modo che se non specificati la griglia verrà senza spaziature fra i controlli che la costituiscono.
Ho imparato come fare in pochi minuti, e il risultato mi è venuto perfetto al primo tentativo.
Public Class Griglia(Of T As {New, Control})
    Public GridArray = New ArrayList
    Sub New(ByRef myForm As Form, ByVal numCaselle As Integer, ByVal rowLength As Integer, ByVal Orientamento As Integer, ByVal XCoord As Integer, ByVal YCoord As Integer, Optional ByVal HSpace As Integer = 0, Optional ByVal VSpace As Integer = 0)

        For n As Integer = 0 To (numCaselle - 1)
            Dim casella As T = New T

            If Orientamento = GRIGLIA_ORIZZONTALE Then
                casella.Left = XCoord + (HSpace + casella.Width) * (n Mod rowLength)
                casella.Top = YCoord + (VSpace + casella.Height) * (n \ rowLength)
            ElseIf Orientamento = GRIGLIA_VERTICALE Then
                casella.Left = XCoord + (HSpace + casella.Width) * (n \ rowLength)
                casella.Top = YCoord + (VSpace + casella.Height) * (n Mod rowLength)
            End If

            GridArray.Add(casella)
            myForm.Controls.Add(casella)
        Next
    End Sub

End Class
Ora faccio qualche prova:

Spaziatura orizzontale:
Dim miaGriglia As New Griglia(Of Controllo)(Me, 30, 4, GRIGLIA_ORIZZONTALE, 0, 0, 10)


Spaziatura verticale:
Dim miaGriglia As New Griglia(Of Controllo)(Me, 30, 4, GRIGLIA_ORIZZONTALE, 0, 0, , 10)


Spaziatura doppia:
Dim miaGriglia As New Griglia(Of Controllo)(Me, 30, 4, GRIGLIA_ORIZZONTALE, 0, 0, 10, 10)

Credo che la cosa sia perfettamente riuscita!

Nessun commento:

Posta un commento