具有自动滚动功能的平滑滚动
我在 Windows 窗体上有一个面板。面板已启用自动滚动。滚动条按其应有的方式显示,并且滚动条通常按其应有的方式运行。
但面板的内容只有在释放鼠标按钮时才会更新。如何使内容随着滚动条的移动而滚动。 (我想复制大多数现代程序(例如文字处理程序和网络浏览器)的滚动行为...移动滚动条,内容也会立即滚动。)
我正在使用 C#、Visual Studio 2008 pro 和 Windows XP-pro。
I have a Panel on a Windows Form. The Panel has autoscroll enabled. The scroll bars appear as they should and the scroll bars generally operate as they should.
But the content of the panel is only updated when the mouse button is released. How can I make the content scroll AS the scroll bar is moved. (I want to duplicate the scroll behavior of most modern programs such as word processors and web browsers... move the scroll bar and the content immediately scrolls as well.)
I am using C#, Visual Studio 2008 pro, and Windows XP-pro.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最后我在网上找到了一个提示,并且有效。
挂钩面板的滚动事件,并在事件处理程序中放置如下代码:
其中 e 是传递给事件处理程序的 ScrollEventArgs 对象。
当然,水平方向的代码类似。
我不知道为什么这不是自动的,或者为什么没有至少一个属性来实现它。
I finally found a hint on the web, and it works.
Hook the panel's scroll event, and in the event handler, put code like this:
where e is the ScrollEventArgs object passed to the event handler.
Similar code for horizontal, of course.
I don't know why this isn't automatic, or why there isn't at least a property to make it happen.