在缩放时,水平滚动条和标签的移动比它们应该更多

时间:2010-07-13 08:25:55

标签: c# winforms

我有一个表单,其中有水平滚动条,在它下面,底部有一个标签。我在这里应用了一个缩放实用程序,即只要标签增大1.1倍,我就按下缩放等等。水平滚动条保持相同的大小,但其位置根据缩放的标签而变化,即随着标签根据缩放扩展或收缩而保持移位。滚动条上贴有标签。

现在我面临的问题是,当我缩放时,缩放发生得很好,但标签的位置发生异常变化。它在变焦时向上移动但是变化太大。底部和标签之间的距离远大于水平滚动条和标签之间的距离。

我正在使用此代码在表单上设置标签的位置:

label.Location = new Point(label.Location.X, this.Height - label.Size.Height);

如何均匀地缩放它以使标签上下变焦的距离均匀且相等?水平滚动条移动得很好并且卡在标签上方。

1 个答案:

答案 0 :(得分:0)

听起来您需要考虑滚动容器的AutoScrollPosition属性。在重置标签位置之前,您可能希望将其重置为(0,0)。滚动时,可见客户区的左上角被视为原点,而不是未滚动容器的“真正”左上角。

例如:

container.AutoScrollPosition = new Point( 0, 0 );
label.Location = new Point( 0, 0 );