我这里有一个旧系统,它将用户控件加载到一种面板中,然后当用户点击菜单项时,他们找到控件,然后他们调用控件上的BringToFront
方法,它是面板中可见的用户控件。
我需要知道如何在面板中获取当前的Front
控件?
亲切的问候
答案 0 :(得分:5)
我认为您正在寻找GetChildIndex
,这将为您提供控件的z-oder的值。因此,您可以在当前表单控件集合中为每个子控件测试此值,然后:
索引值为零的控件位于z顺序的顶部,较高的数字更接近底部。
类似的东西:
foreach (Control x in parent.Controls)
{
if(parent.Controls.GetChildIndex(x) == 0)
{
//x is the front most control
}
}
答案 1 :(得分:0)
正如Joe White在评论中提到的,BringToFront
更改了容器的Controls集合中元素的顺序。所以,如果你这样做
container.Controls[0]
它将为您提供ControlCollection
中最顶层的控件。