平滑滚动与自动滚动

3

我有一个Windows表单上的面板。该面板启用了自动滚动。滚动条出现并且通常按照预期运行。

但是,只有在释放鼠标按钮时才会更新面板的内容。如何使内容随着滚动条的移动而滚动。 (我想复制大多数现代程序(如文字处理器和Web浏览器)的滚动行为...移动滚动条,内容立即滚动。)

我使用的是C#,Visual Studio 2008 Pro和Windows XP Pro。

1个回答

8

我终于在网上找到了一个提示,它起作用了。

钩住面板的滚动事件,在事件处理程序中放置以下代码:

if (e.ScrollOrientation == ScrollOrientation.VerticalScroll) {
  panel1.VerticalScroll.Value = e.NewValue;
}

e是传递给事件处理程序的ScrollEventArgs对象。

当然,水平方向的代码也是类似的。

我不知道为什么这不是自动完成的,或者为什么没有至少一个属性可以使其发生。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接