我有一个用户控件,它是可滚动控件,我想更改它的 AutoScrollPosition
(仅 X 值)。
我是这样做的:
int newScrollX = myFunction();
Point p = new Point(newScrollX, this.AutoScrollPosition.Y);
this.AutoScrollPosition = p;
newScrollX 得到正确的值,p 得到正确的点,但是在AutoScrollPosition 设置行之后,AutoScrollPosition 是(0,0)。
问题是什么?
谢谢
最佳答案
AutoScrollPosition 相当麻烦。
这样做通常会得到负值:
Point p = this.AutoScrollPosition;
但是在设置滚动位置时,您必须使用正值...因此要恢复完全相同的滚动位置,您必须反转负数:
this.AutoScrollPosition = new Point(-p.X, -p.Y)
否则,AutoScrollPosition 将为观察到的 0,0。
关于c# - AutoScrollPosition 在将其设置为点位置后不报告正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13053962/