我在 Visual Studio 2010 中有一个 GUI,它有几个 PictureBoxes、LineShapes/Rectangles 和 Labels/TextBoxes。LineShapes/Rectangles 需要在 PictureBoxes 前面,Labels/TextBoxes 需要在 LineShapes/Rectangles 前面。
几个月来,当我在表单的 Load 事件处理程序中以所需的顺序调用 BringToFront() 方法时,我的 GUI 工作正常。我首先调用了ShapeContainer 的BringToFront() 方法,然后为所有标签/文本框调用了BringToFront() 方法。
突然之间,我的 PictureBoxes 开始出现在我的 LineShapes/Rectangles 前面。将我的最新代码与上一个工作标记进行比较表明,这些对象没有任何变化。我尝试在表单的 Load 事件处理程序中为 PictureBoxes 调用 SendToBack() 方法,但没有效果。
有人可以解释为什么我的这种行为会自发地改变,以及我应该做些什么来确保正确显示我的图片框、线条形状/矩形和标签/文本框?