Come ridimensionare un form di Visual Basic per adattarsi allo schermo

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.

istruzione

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