C#WinForms:如果我想在面板上设置控件的位置,无论垂直滚动条在哪里,我应该使用什么?我的意思是表单很大,所以我们使用滚动条上下移动,现在我希望该位置独立于我设置滚动条的位置.PointToClinet?
答案 0 :(得分:4)
Location属性已经独立于滚动条位置。 (0,0)处的控件在带有滚动条的面板中保持为(0,0)。 AutoScrollPosition属性值有哪些变化。使用垂直滚动条时,当用户向下滚动时,AutoScrollPosition.Y值将变为负值。这使得面板内的任何东西向上移动。
通过更正AutoScrollPosition.Y,即使使用滚动条,尝试将某些内容保持在相同位置也是技术上可行的。但是在练习中效果不好,无论你滚动的是什么,都在做pogo,当你滚动时快速上下跳跃。这是由Windows blitting滚动像素引起的,之后将其重新绘制回原始位置。在this post中找到该问题的解决方法。