【问题标题】:smooth scroll with autoscroll使用自动滚动平滑滚动
【发布时间】:2011-02-12 11:06:31
【问题描述】:
我在 Windows 窗体上有一个面板。面板已启用自动滚动。滚动条按应有的方式显示,并且滚动条通常按应有的方式运行。
但是面板的内容只有在释放鼠标按钮时才会更新。如何在滚动条移动时使内容滚动。 (我想复制大多数现代程序的滚动行为,例如文字处理器和网络浏览器……移动滚动条,内容立即滚动。)
我正在使用 C#、Visual Studio 2008 pro 和 Windows XP-pro。
【问题讨论】:
标签:
c#
windows
forms
panel
autoscroll
【解决方案1】:
我终于在网上找到了一个提示,并且有效。
挂钩面板的滚动事件,并在事件处理程序中,输入如下代码:
if (e.ScrollOrientation == ScrollOrientation.VerticalScroll) {
panel1.VerticalScroll.Value = e.NewValue;
}
其中 e 是传递给事件处理程序的 ScrollEventArgs 对象。
当然,水平的类似代码。
我不知道为什么这不是自动的,或者为什么至少没有一个属性可以实现它。