在vb.net中确定哪个子视图在前面

时间:2013-11-13 20:16:43

标签: vb.net view

我有几个子视图加载到父视图上。某些函数使用.sendtoback将当前视图发送到堆栈的后面。如何确定某个视图当前是否位于其他视图的前面?检查“可见”属性不起作用,因为所有视图在技术上都设置为可见;只是除了其中一个视图之外的所有视图都被其他视图隐藏。

2 个答案:

答案 0 :(得分:1)

您可以使用Control.ControlCollection.GetChildIndex方法获取子控件的索引。

根据MSDN上的描述:

  

索引值为零的控件位于z顺序的顶部,较高的数字更接近底部。

答案 1 :(得分:1)

请参阅此问题的C#版本中的以下链接。

How to check if a userControl is in front of others in C#?

VB.net中的代码应如下所示。

Private Function IsControlAtFront(control As Control) As Boolean
    Return control.Parent.Controls.GetChildIndex(control) = 0
End Function