Partager via


Comment positionner et dimensionner un formulaire (Windows Forms .NET)

Lorsqu’un formulaire est créé, la taille et l’emplacement sont initialement définis sur une valeur par défaut. La taille par défaut d’un formulaire est généralement une largeur et une hauteur de 800 x 500 pixels. L’emplacement initial, lorsque le formulaire est affiché, dépend de quelques paramètres différents.

Vous pouvez modifier la taille d’un formulaire au moment du design avec Visual Studio et au moment de l’exécution avec du code.

Redimensionner avec le concepteur

Après avoir ajouté un nouveau formulaire au projet, la taille d’un formulaire est définie de deux façons différentes. Tout d’abord, vous pouvez le définir avec les poignées de taille dans le concepteur. En faisant glisser le bord droit, le bord inférieur ou l’angle, vous pouvez redimensionner le formulaire.

Cliquez avec le bouton droit sur l’Explorateur de solutions pour ajouter un nouveau formulaire au projet Windows Forms avec prise en main

La deuxième façon de redimensionner le formulaire pendant que le concepteur est ouvert, se trouve dans le volet des propriétés. Sélectionnez le formulaire, puis recherchez le volet Propriétés dans Visual Studio. Faites défiler jusqu’à la taille et développez-la. Vous pouvez définir manuellement la largeur et la hauteur.

Cliquez avec le bouton droit sur l’Explorateur de solutions pour ajouter un nouveau formulaire au projet Windows Forms

Redimensionner dans le code

Même si le concepteur définit la taille de départ d’un formulaire, vous pouvez le redimensionner par le biais du code. L’utilisation du code pour redimensionner un formulaire est utile lorsque quelque chose sur votre application détermine que la taille par défaut du formulaire est insuffisante.

Pour redimensionner un formulaire, modifiez le Size, qui représente la largeur et la hauteur du formulaire.

Redimensionner le formulaire actif

Vous pouvez modifier la taille du formulaire actif tant que le code s’exécute dans le contexte du formulaire. Par exemple, si vous avez Form1 un bouton sur celui-ci, lorsque vous cliquez dessus, le gestionnaire d’événements appelle le Click gestionnaire d’événements pour redimensionner le formulaire :

private void button1_Click(object sender, EventArgs e) =>
    Size = new Size(250, 200);
Private Sub Button1_Click(sender As Object, e As EventArgs)
    Size = New Drawing.Size(250, 200)
End Sub

Redimensionner un autre formulaire

Vous pouvez modifier la taille d’un autre formulaire après sa création à l’aide de la variable référençant le formulaire. Par exemple, supposons que vous avez deux formulaires ( Form1 le formulaire de démarrage dans cet exemple) et Form2. Form1 a un bouton qui, lorsqu’il est cliqué, appelle l’événement Click . Le gestionnaire de cet événement crée une nouvelle instance du Form2 formulaire, définit la taille, puis l’affiche :

private void button1_Click(object sender, EventArgs e)
{
    Form2 form = new Form2();
    form.Size = new Size(250, 200);
    form.Show();
}
Private Sub Button1_Click(sender As Object, e As EventArgs)
    Dim form = New Form2 With {
        .Size = New Drawing.Size(250, 200)
    }
    form.Show()
End Sub

Si l’élément Size n’est pas défini manuellement, la taille par défaut du formulaire correspond à ce qu’il a été défini pendant le design.< a0/&a0>.

Position avec le concepteur

Lorsqu’une instance de formulaire est créée et affichée, l’emplacement initial du formulaire est déterminé par la StartPosition propriété. La Location propriété contient l’emplacement actuel du formulaire. Les deux propriétés peuvent être définies via le concepteur.

volet propriétés visual Studio avec position de début mise en surbrillance

Énumération FormStartPosition Description
CenterParent Le formulaire est centré dans les limites de son formulaire parent.
CenterScreen Le formulaire est centré sur l’affichage actuel.
Manuel La position du formulaire est déterminée par la propriété Location .
WindowsDefaultBounds Le formulaire est positionné à l’emplacement par défaut de Windows et est redimensionné à la taille par défaut déterminée par Windows.
WindowsDefaultLocation Le formulaire est positionné à l’emplacement par défaut de Windows et n’est pas redimensionné.

La valeur CenterParent fonctionne uniquement avec des formulaires qui sont soit un formulaire enfant MDI (Multiple Document Interface), soit un formulaire normal affiché avec la ShowDialog méthode. CenterParent n’a aucun impact sur un formulaire normal affiché avec la Show méthode. Pour centrer un formulaire (form variable) vers un autre formulaire (parentForm variable), utilisez le code suivant :

form.StartPosition = FormStartPosition.Manual;
form.Location = new Point(parentForm.Width / 2 - form.Width / 2 + parentForm.Location.X,
                          parentForm.Height / 2 - form.Height / 2 + parentForm.Location.Y);
form.Show();
form.StartPosition = Windows.Forms.FormStartPosition.CenterParent.Manual
form.Location = New Drawing.Point(parentForm.Width / 2 - form.Width / 2 + parentForm.Location.X,
                                  parentForm.Height / 2 - form.Height / 2 + parentForm.Location.Y)

form.Show()

Position avec du code

Même si le concepteur peut être utilisé pour définir l’emplacement de départ d’un formulaire, vous pouvez utiliser du code pour modifier le mode position de départ ou définir l’emplacement manuellement. L’utilisation du code pour positionner un formulaire est utile si vous devez positionner et dimensionner manuellement un formulaire par rapport à l’écran ou à d’autres formulaires.

Déplacer le formulaire actif

Vous pouvez déplacer le formulaire actif tant que le code est en cours d’exécution dans le contexte du formulaire. Par exemple, si vous disposez Form1 d’un bouton sur celui-ci, lorsque vous cliquez sur Click le gestionnaire d’événements. Le gestionnaire de cet exemple modifie l’emplacement du formulaire en haut à gauche de l’écran en définissant la Location propriété :

private void button1_Click(object sender, EventArgs e) =>
    Location = new Point(0, 0);
Private Sub Button1_Click(sender As Object, e As EventArgs)
    Location = New Drawing.Point(0, 0)
End Sub

Positionner un autre formulaire

Vous pouvez modifier l’emplacement d’un autre formulaire après sa création à l’aide de la variable référençant le formulaire. Par exemple, supposons que vous avez deux formulaires ( Form1 le formulaire de démarrage dans cet exemple) et Form2. Form1 a un bouton qui, lorsqu’il est cliqué, appelle l’événement Click . Le gestionnaire de cet événement crée une nouvelle instance du Form2 formulaire et définit l’emplacement :

private void button1_Click(object sender, EventArgs e)
{
    Form2 form = new Form2();
    form.Location = new Point(0, 0);
    form.Show();
}
Private Sub Button1_Click(sender As Object, e As EventArgs)
    Dim form = New Form2 With {
        .Location = New Drawing.Point(0, 0)
    }
    form.Show()
End Sub

Si ce Location n’est pas défini, la position par défaut du formulaire est basée sur la valeur définie par la StartPosition propriété au moment du design.

Voir aussi