获取相对于面板的标签位置

时间:2011-04-15 22:02:42

标签: c# .net winforms

我有一个带有'主'面板的表单。该面板包含许多标签。面板本身比表单大,可滚动(Autoscroll = true)。现在我想将这些标签的位置放到面板的左上角。当前不是左上角,而是面板左上角。

Label.Left和label.location.X应该给出相对于容器的位置,它们也是这样做的但是在向下滚动面板之后,面板的(0,0)位置变为当前在视图中的面板左上角(根据Label.location)

基本上我想要获得一个控件(标签)相对于其容器左上角的位置。 Control.Location没有这样做,它根据当前视图中的左上角给出了位置(我认为)。

任何帮助?

由于

1 个答案:

答案 0 :(得分:3)

您可以从AutoScrollPosition属性中读取所需信息。

  

AutoScrollPosition属性   表示可见的位置   可滚动控件的一部分。

因此,标签相对于面板可见区域左上角的位置由label.Location - (Size)panel.AutoScrollPosition给出。