July 29
Quando si progetta un modulo in Visual Basic, si decide su una dimensione ideale e costruire la forma di conseguenza. A meno che non si limita agli utenti di ridimensionare il modulo, si dovrebbe tenere conto di ciò che accade ad esso se un utente ri-dimensioni dello schermo o come il modulo viene visualizzato per gli utenti con diverse risoluzioni dello schermo diverso dal proprio. Si può scrivere un sub che ri-dimensioni la forma e le sue controlli e chiamare il sub quando è necessario.
1 Aprire la finestra di codice del progetto. Dichiarare una nuova Private Sub e creare due variabili per contenere i valori X e Y per la ri-formato:
Private Sub ResizeForm (Modulo ByVal)
Dim XSize As Integer
Dim YSize As Integer
2 Inserire le seguenti righe, la prima per evitare un crash del programma per i controlli che non possono essere ridimensionati e il secondo per evitare la ri-formato si verifichi se il modulo è già ridotto al minimo o ingrandita:
On Error Resume Next
Se Form.WindowState <> 0 Then Exit Sub
3 Inserire le seguenti righe per impostare l'origine del re-size del modulo (nell'angolo in alto a sinistra del modulo) verso l'angolo in alto a sinistra dello schermo, e per ingrandire la forma stessa:
Me.Top = 0
Me.Left = 0
Me.Height = Me.Height * YSize
Me.Width = Me.Width * XSize
4 Inserire le seguenti righe al ciclo attraverso i controlli presenti sul modulo per ridimensionare loro, e alla fine il sub. In questo modo ridimensionare le larghezze e altezze di diversi controlli, pur mantenendo intatte le loro allineamenti:
Per i = 0 Per Me.Controls.Count - 1
Me.Controls (i) .Left = Me.Controls (i) .Left * XSize
Me.Controls (i) .Top = Me.Controls (i) .Top * YSize
Me.Controls (i) .Height = Me.Controls (i) .Height * YSize
Me.Controls (i) .Width = Me.Controls (i) .Width * XSize
Next i
End Sub