[VB.NET] utilisation du paramètre "Dock" [Résolu]

morickno 117 Messages postés vendredi 22 avril 2005Date d'inscription 26 juin 2007 Dernière intervention - 19 avril 2007 à 10:19 - Dernière réponse : morickno 117 Messages postés vendredi 22 avril 2005Date d'inscription 26 juin 2007 Dernière intervention
- 19 avril 2007 à 11:31
Bonjour,

Mon problème relève de l'utilisation du paramètre dock. Pour l'illustrer, voici un exemple simple:

Je place un panel sur ma forme (Panel1). Je place un autre panel (Panel2) sur le Panel1. Je place un autre panel (Panel3) sur le Panel1.
Si je met le paramètre dock Left à mon Panel2 et dock Fill à mon Panel3, tous va bien, ils sont dimensionnés l'un à coté de l'autre corectement.
Par contre,Si je met le paramètre dock Left à mon Panel3 et dock Fill à mon Panel2, le Panel2 se dimensionne sur tous le le Panel1. La largeur ne s'arrete pas au Panel3 qui est à dock = left. La partie gauche de mon Panel2 est alors masqué par le Panel3.

Je pense que ce cas est lié au faite que j'ai créé le Panel3 après le Panel2.

Question: Comment faire pour pour que le logiciel considère que le Panel3 à été créé avant le Panel2. Y'a t'il un index que l'on peu modifier (un peu comme le TabIndex).

J'espère que mes explications n'ont pas été trops compliquées.

Merci de votre aide.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 19 avril 2007 à 11:02
3
Merci
D'après le MSDN, "...Les contrôles sont ancrés dans leur ordre de plan, qui est la superposition
visuelle des contrôles d'un formulaire sur l'axe Z du formulaire (profondeur)....". De l'arrière plan au premier plan. Donc dans l'ordre de création si cet ordre n'est pas modifier.

Ainsi dans le premier cas, Panel2 se positionnera à gauche de Panel1 et Panel3 se positionnera à gauche de l'espace libre de Pane1, c'est à dire contre Panel2.

Dans le second cas, Panel2 se positionnera à gauche de l'espace libre, c'est à dire à gauche de Panel1, puis Panale 3 se positionnera à gauche de Panel1

Maintenant, dans le premier cas, si quelque part dans le code tu mets Panel2.BringToFront, tu renvoie Panel2 au premier plan, donc en dernier dans l'ordre de positionnement, tu constantera que Panel3 (positionné donc avant Panel2) vient se positionné à gauche de Panel1 donc sous Panel2

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #

Merci cs_casy 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de cs_casy
morickno 117 Messages postés vendredi 22 avril 2005Date d'inscription 26 juin 2007 Dernière intervention - 19 avril 2007 à 11:31
0
Merci
Explication parfaite, merci bp.

Pour ma part, je vais mettre le control Panel2 au premier plan depuis le concepteur graphique.

Merci encore,
Commenter la réponse de morickno

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.