PictureBoxes et Zorder [.NET]
-
22-08-2019 - |
Question
J'ai des difficultés à montrer multiples (jusqu'à 5) PictureBoxes au-dessus l'autre, mais en mesure de voir tous. Seulement premier et le dernier sera affiché. Je leur montre de bas en haut, régler correctement leurs emplacements et en utilisant la fonction BringToFront (). Est-ce que quelqu'un a une solution (le cas échéant)? Merci pour l'aide!
La solution
Je ne sais pas quel est le problème réel est; le code suivant ajoute 5 PictureBox
es empilés à une forme, et les configure donc ils sont tous visibles.
private void AddStackedPictureBoxes()
{
for (int i = 0; i < 5; i++)
{
PictureBox pb = new PictureBox();
pb.BackColor = Color.FromArgb(i * 50, i * 50, i * 50);
pb.BorderStyle = BorderStyle.FixedSingle;
pb.Location = new Point(i * 10, i * 10);
pb.Size = new Size((5 - i) * 20, (5 - i) * 20);
Controls.Add(pb);
pb.BringToFront();
}
}
Peut-être cela vous donnera un aperçu des raisons pour lesquelles vous avez des problèmes.
Par exemple, si vous appelez BringToFront()
avant que le contrôle est ajouté à la forme, il n'aura aucun effet.
Autres conseils
Assurez-vous de définir la couleur d'arrière-plan transparent sur chacun d'eux.
et comme dit Daniel, BringToFront () ne fonctionne que si le contrôle est déjà sur un formulaire.