2

我很难在彼此顶部显示多个(最多 5 个)图片框,但能够看到所有图片框。只有第一个和最后一个会出现。我从下到上展示它们,正确设置它们的位置并使用 BringToFront() 函数。有人有解决方案(如果有的话)吗?感谢帮助!

4

2 回答 2

2

不确定实际问题是什么;以下代码将 5 个堆叠PictureBox的 es 添加到表单中,并将它们配置为全部可见。

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();
    }
}

也许这会让你对你遇到问题的原因有所了解。

例如,如果您BringToFront()在控件添加到窗体之前调用,它不会有任何效果。

于 2009-03-25T20:12:21.533 回答
0

确保将每个背景颜色设置为透明。

正如丹尼尔所说,BringToFront() 仅在控件已经在表单上时才有效。

于 2009-03-25T20:14:45.710 回答