1

我有一个面板,我希望在代码中水平滚动,问题是它似乎只在每第二次执行代码行时滚动一次。这就是我使用的

 private void MyScrollButton_Click(object sender, EventArgs e)
 {
    MainPanel.HorizontalScroll.Value += 64;
 }

每次都是这样,

1st Click: Panel Scrolls and ScrollBar Remains Still
2nd Click: Panel remains still and ScrollBar scrolls
3rd Click: Same as 1st
4th Click: Same as 2nd

.... ... 重复

4

1 回答 1

4

尝试使用AutoScrollPosition代替(并且您需要反转该值):

private void MyScrollButton_Click(object sender, EventArgs e) {
  MainPanel.AutoScrollPosition = new Point(-MainPanel.AutoScrollPosition.X + 64,
                                           -MainPanel.AutoScrollPosition.Y);
}
于 2012-05-15T15:39:31.470 回答