12
votes

Problème avec l'ordre de Dock-> Commandes supérieures

C # Winforms: Je concevons ma forme et j'ai quelques nappes-nappes. Donc, je concevris ma première nappable, jetez-la sur le panneau et set dock-> haut ... Puis je concevons mon deuxième et fais la même chose et set dock-> haut, il va à nouveau et bon, il place sous le Précédent C'était sur le dessus ... Je concevons le troisième et mettais son dock.top et bien il est sous la seconde qui est sous la première ... mais je ne sais pas quel est le diffrence pour la première fois que lorsque je mets Son Dock.Top, il change l'ordre des trois autres et obtenez des endroits où entre eux, il ne se placent pas sous la troisième ... une idée que dois-je regarder?


1 commentaires

Peut-être que je peux utiliser une grande disposition du flux et mettre tout cela à l'intérieur, mais commun! Cela ne devrait pas être que compliqué, qui aime ajouter un plus de conteneur à une forme? Dock.top devrait le faire.


5 Réponses :


18
votes

Cliquez avec le bouton droit de la souris sur les commandes et sélectionnez "Envoyer à l'arrière" ou "Apportez à l'avant", ou utilisez la fenêtre de plan de document pour réorganiser l'ordre Z des éléments. Le plan de document aide beaucoup lors de la création de choses avec beaucoup de contrôles.


1 commentaires

Cela devrait être la réponse acceptée. Couper et coller vont certainement bousiller votre conception.



30
votes

Cela dépend de l'ordre que vous avez ajouté ces contrôles à leur conteneur. Le contrôle ajouté précédemment sera le plus tôt, etc.

Pour le réparer, "couper" le futur contrôle et la "coller" au conteneur et qu'il prendra l'endroit souhaitable.

Une autre façon de résoudre ce problème consiste à modifier le code de fichier de concepteur afin de remédier à l'ajout de ces contrôles à leur conteneur.


4 commentaires

C'est vraiment une bonne approche. Les options "apportent avant" et "renvoyer" sont bien meilleures. Pour plus de détails, essayez ce lien. Stackoverflow.com/ Questions / 154543 / ...


L'approche "Cut-Coller" détruira toutes les liaisons de rappel!


Ou mieux encore, utilisez la fenêtre document de document et repositionnez les commandes


Tout essayé mais cela puis tout a fonctionné, merci à @daShawaw



9
votes

La disposition du quai est basée sur la commande à laquelle ils sont ajoutés au conteneur.

Je vais habituellement à la *. concepteur.cs Fichier et modifie la initializececomponent () Méthode de rétrofinage manuellement Comment les commandes sont ajoutées au conteneur. xxx

Cette commande est opposée sur l'affichage < / p>


1 commentaires

"Cet ordre est opposé à l'écran" devrait être en gras.



8
votes

Vous devez organiser l'ordre de vos commandes dans la fenêtre de plan de document (vue -> Autres Windows -> Contour du document (Ctrl + W, U)). Sélectionnez votre formulaire en mode décollage et vous verrez tous vos composants dans une vue d'arborescence. Utilisez les flèches sur le dessus pour sélectionner la commande souhaitée.

Il vaut mieux que coupé et passé, car il évitera la perte de rappels de liaison.


0 commentaires

1
votes

Vous pouvez modifier la commande d'un contrôle pour passer à un index particulier

containerPanel.Controls.SetChildIndex(Control, n); //sets control to be the Nth element from the bottom


0 commentaires