在vb.net中如何获得可滚动面板中对象的位置

时间:2014-01-07 04:23:33

标签: vb.net scroll panel

我有一个面板,里面有很多小控件。我试图找到每个控件从屏幕滚动后的位置。基本上我正在尝试查找控件是否在父面板的可视区域中。因此,当一个对象从面板的顶部滚动后,我认为它的“顶部”值是负的,但似乎并非如此。面板可视窗口的顶部不是0.

1 个答案:

答案 0 :(得分:0)

控件位置来自面板的位置。以此为例:

Dim viewable as Boolean    

If Button1.Location.Y < Panel1.Height AndAlso Button1.Location.Y _
        + Button1.Height > 0 Then

        viewable = True
    Else
        viewable = False
    End If

在上面的示例中,我选择按钮的Y位置并将其与面板的高度进行比较。请记住,按钮的位置是按钮的左上角。 然后,为了检查您是否完全滚动按钮,您必须将按钮高度添加到该位置,因为,如前所述,该位置来自TOP左上角。