Lorsque vous créez un formulaire dans Visual Basic, vous décidez sur une taille idéale et de construire la forme en conséquence. À moins que vous limitez les utilisateurs de redimensionner votre formulaire, vous devez tenir compte de ce qui lui arrive si un utilisateur re-dimensionne l`écran ou la façon dont votre formulaire apparaît pour les utilisateurs avec différentes résolutions d`écran que votre propre. Vous pouvez écrire un sous-marin qui re-tailles le formulaire et ses contrôles et appeler le sous chaque fois que vous devez.
Ouvrez la fenêtre de code de votre projet. Déclarez une nouvelle Private Sub et de créer deux variables pour tenir les valeurs X et Y pour la re-size:
Private Sub ResizeForm (formulaire ByVal)
Dim XSize As Integer
Dim YSize As Integer
Entrez les lignes suivantes, la première pour éviter un crash du programme pour les contrôles qui ne peuvent être redimensionnées et la seconde pour empêcher la re-taille de se produire si la forme est déjà réduite ou agrandie:
On Error Resume Next
Si Form.WindowState <> 0 Then Exit Sub
Entrez les lignes suivantes pour définir l`origine de la redimensionnée forme (le coin supérieur gauche de la forme) dans le coin supérieur gauche de l`écran, et pour agrandir la forme elle-même:
Me.Top = 0
Me.Left = 0
Me.Height = Me.Height * YSize
Me.Width = Me.Width * XSize
Entrez les lignes suivantes à boucle à travers les contrôles présents sur le formulaire pour les redimensionner, et mettre fin à la sous. Cette re-dimensionner les largeurs et hauteurs de plusieurs contrôles tout en gardant leurs alignements intacts:
Pour i = 0 To 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
Ensuite je
End Sub