Share via


Comment : contrôler le comportement d'ancrage

Mise à jour : novembre 2007

L'ordre dans lequel les contrôles sont ajoutés à un formulaire peut affecter la disposition des contrôles sur l'écran lorsque la fonctionnalité d'ancrage est utilisée. Les contrôles ne s'affichent pas toujours à l'emplacement prévu sur l'écran s'ils ne sont pas ajoutés dans le bon ordre.

L'ordre dans lequel vous ajoutez les contrôles à un formulaire affecte l'ordre z et, lorsque plusieurs contrôles sont ancrés à un contrôle parent, l'ordre z détermine la logique de la disposition. Un contrôle ajouté à un contrôle parent est d'abord placé en bas de l'ordre z et les contrôles qui sont ensuite ajoutés sont superposés de manière séquentielle. Lorsque vous tentez de placer un contrôle à côté d'un autre en ancrant les contrôles à la même zone dans un contrôle parent, le contrôle suivant dans l'ordre z est prioritaire dans la disposition obtenue. Par exemple, si la propriété Dock pour deux contrôles a la valeur Top, dans les scénarios classiques, le contrôle suivant dans l'ordre z apparaît au-dessus du contrôle parent sur l'écran.

Toutefois, lorsque la propriété Dock pour un contrôle a la valeur Fill, un contrôle peut masquer un autre contrôle. Par exemple, il peut arriver que deux contrôles ajoutés au formulaire dans le mauvais ordre apparaissent en haut de l'écran et que l'un masque l'autre, alors qu'un seul contrôle devait apparaître à cet emplacement.

Si des problèmes de disposition se produisent, l'ordre z des contrôles affectés doit être ajusté. Différentes étapes seront requises pour résoudre ce problème, selon que le concepteur est utilisé ou non pour ajouter des contrôles au formulaire.

Pour contrôler la disposition d'ancrage

  • Corrigez l'ordre dans lequel les contrôles concernés sont ajoutés au formulaire.

    Considérez un exemple dans lequel un contrôle TreeView et un contrôle Button sont ajoutés par programme à un contrôle Panel. La propriété Dock du contrôle TreeView a la valeur Fill, et la propriété Dock du contrôle Button a la valeur Top. Le contrôle TreeView masque partiellement le contrôle Button. Le code qui ajoute les contrôles TreeView et Button au Panel peut apparaître comme suit :

    this.panel1.Controls.Add(this.button1);
    this.panel1.Controls.Add(this.treeView1);
    

    Pour résoudre le problème, modifiez l'ordre dans lequel ces contrôles sont ajoutés au panneau.

    this.panel1.Controls.Add(this.treeView1);
    this.panel1.Controls.Add(this.button1);
    

    Vous pouvez aussi utiliser les méthodes BringToFront ou SendToBack pour l'un des contrôles.

Pour contrôler la disposition d'ancrage à l'aide du concepteur

  1. Sélectionnez l'un des contrôles dont l'emplacement est incorrect sur le formulaire.

  2. Selon la disposition souhaitée, cliquez avec le bouton droit sur le contrôle et sélectionnez Mettre en arrière-plan.

    - ou -

    Cliquez avec le bouton droit sur le contrôle, puis sélectionnez Mettre au premier plan.

  3. Si des contrôles supplémentaires sont impliqués, vous pouvez répéter l'étape 2 pour les autres contrôles, si nécessaire, jusqu'à ce que le comportement d'ancrage soit corrigé.

Remarque :

Si plusieurs contrôles sont impliqués, il est recommandé d'utiliser la fenêtre Structure du document pour contrôler l'ordre z.

Voir aussi

Concepts

.Rubriques Comment relatives au .NET Compact Framework