PictureBox und Zorder [.NET]
-
22-08-2019 - |
Frage
Ich habe Schwierigkeiten mit mehreren zeigt (bis zu 5) PictureBox auf einander, aber in der Lage, alle von ihnen zu sehen. Nur erste und letzte wird sich zeigen. Ich zeige sie von unten nach oben, stellte ihre Positionen korrekt und mit BringToFront () Funktion. Hat jemand eine Lösung (falls vorhanden)? Vielen Dank für die Hilfe!
Lösung
Nicht sicher, was das eigentliche Problem ist; Der folgende Code fügt 5 gestapelt PictureBox
es zu einem Formular, und konfiguriert sie, so dass sie alle sichtbar sind.
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();
}
}
Vielleicht wird das gibt Ihnen einen Einblick in warum Sie Probleme haben.
Zum Beispiel, wenn Sie BringToFront()
aufrufen, bevor die Steuerung zu dem Formular hinzugefügt wird, wird es keine Auswirkungen haben.
Andere Tipps
Seien Sie sicher, dass die Hintergrundfarbe transparent auf jeden von ihnen zu setzen.
und als Daniel sagte, BringToFront () funktioniert nur, wenn die Steuerung bereits in einem Formular.