【发布时间】:2012-08-19 03:56:42
【问题描述】:
假设有两个重叠的控件:
- 控制 A
- 控制 B
我想在任何情况下都保持控制 A 优于控制 B。
控件 B 的 z 顺序可以通过调用 BringToFront() 或通过调用 Parent.SetChildIndex(ControlB, 0) 在父级中设置其索引来动态更改。因此,无论何时发生这种情况,我都希望控件 A 出现在控件 B 的前面。
我正在寻找在 z 顺序更改时发生的一些事件,以便我可以将控件 A 放在前面。有没有这样的事件?或者有什么方法可以做到这一点?
【问题讨论】:
-
子控件的z-order改变时是否会发生父绘制事件? z 顺序发生变化的控件是否会发生这种情况?
-
控件(以及受更改影响的其他控件)可能需要重新绘制,所以是的..
-
我用Control B的Paint事件调用了ControlA.BringToFron(),好像可以了。
标签: .net winforms layout controls z-order