Ciao a tutti ragazzi.

Sto facendo un piccolo progettino personale per la gestione di una pulsantiera, ve lo spiego brevemente.
Ho un Panel di dimensioni variabili ( correlate alla risoluzione dello schermo ) nel quale creo dinamicamente N bottoni in base alle dimensioni, ovvero :

il pannello è largo 800 Pixel e Alto 600
I bottoni sono quadrati da 50 x 50
all'interno del pannello possono essere contenuti 192 bottoni

quindi parte un ciclo FOR per la creazione e la sistemazione corretta dei bottoni.
Ora fin qui funziona tutto correttamente. Nasce la necessità di dover specificare un numero di pulsanti necessari in base ad un preciso parametro, ad esempio :

Il pannello contiene massimo 192 bottoni da 50 x 50
I bottoni necessari sono 200 ( quindi si va fuori di 8 bottoni )

Il pannello ovviamente è sprovvisto di scroll e quindi gli 8 bottoni di troppo sarebbero inutilizzabili in quanto creati oltre le dimensioni del pannello.
Vorrei riuscire a fare una specie di paginazione del pannello, ma non ho la minima idea di come farlo, è un po che ci penso e per un motivo o per un altro scarto tutte le idee.

Vi metto qui sotto il metodo che uso per la creazione dei bottoni

codice:
 ' se il metodo è richiamato dall'evento resize del form
        ' cancello tutti gli oggetti button attualmente presenti
        ' in modo da crearne di nuovi ridimensionati
        If resize = True Then
            removeall()
        End If

        'assengo le variabili left e top e le imposto a 0
        Dim left As Integer = 0
        Dim top As Integer = 0

        ' assengo le variabili per stabilire le dimensioni del form
        Dim FormWidht As Integer = Panel2.Width
        Dim FormHeight As Integer = Panel2.Height

        'assegno le variabili per definire le dimensioni di ogni bottone
        Dim ButtonWidth As Integer = 90
        Dim ButtonHeight As Integer = 50

        'calcolo le righe, le colonne e il totale dei bottoni che possono
        'essere disposti nell'area in base alle dimensioni del panel
        Dim buttonRows As Double = FormWidht / ButtonWidth
        buttonRows = Math.Truncate(buttonRows) - 1
        Dim buttonRowsM As Double = FormWidht / ButtonWidth
        buttonRowsM = Math.Truncate(buttonRowsM) - 1
        Dim ButtonCol As Double = FormHeight / ButtonHeight
        ButtonCol = Math.Truncate(ButtonCol) - 1



        'massimo di bottoni che possono essere contenuti all'interno dell'area
        Dim TotButton As Integer = ButtonCol * buttonRows

        'creo i bottoni e li dispongo sul form i base alle righe
        ' e alle colonne precedentemente calcolate.
        For i = 1 To TotButton 
            ' istanzio l'ogetto
            Dim btn As New Button
            'imposto le propietà
            btn.Text = "prova"
            btn.Width = ButtonWidth
            btn.Height = ButtonHeight

            If i > buttonRows Then
                top = top + ButtonHeight
                btn.Top = top
                left = 0
                btn.Left = left
                buttonRows = buttonRows + buttonRowsM
            Else
                btn.Top = top
                btn.Left = left
            End If
            AddHandler btn.Click, AddressOf btnreg_Click
            Panel2.Controls.Add(btn)
            left = left + ButtonWidth
            ProgressBar1.Maximum = i
            ProgressBar1.Minimum = 0
            If ProgressBar1.Value < i Then
                ProgressBar1.Value += 1
            ElseIf ProgressBar1.Value = ProgressBar1.Maximum Then

            End If
        Next
        Label1.Text = Panel2.Controls.Count
        If ProgressBar1.Value = ProgressBar1.Maximum Then
            Panel2.Visible = True
        End If
PS: Il codice è molto grezzo non ci ho perso tempo