调整窗口或容器大小时如何修复滚动条?

发布于 2024-11-30 03:13:50 字数 356 浏览 0 评论 0原文

目前,在我的应用程序中,我使用 HScrollBar 和 VScrollBar 在大图像中进行平移。显示的图像部分基于滚动条的 Value 属性。但是,当调整 SplitContainer 的大小或调整表单窗口的大小时,滚动条的值不会自动更新,并且可能会在屏幕外呈现某些内容。

此时我注意到,如果您单击滚动条的箭头,它会神奇地修复滚动条。我想知道是否有任何方法可以在 Form_Resize 和 SplitContainer_Resize 事件处理程序中模拟单击滚动条来执行此操作,但我找不到任何内容。

在所有调整大小事件中必须手动调整滚动条的值是缓慢的、丑陋的并且效果不佳。我真的希望滚动条能够在窗口调整大小时自动修复自身,就像单击箭头时一样,但我不确定如何实现。

Currently in my application I am using the HScrollBar and VScrollBar for panning around in a large image. The part of the image that is shown is based on the scrollbar's Value property. However, when resizing the SplitContainer or resizing the form window the scrollbar's Value does not automatically update and it may render something off-screen.

At this point I noticed that if you clicked the scrollbar's arrow it magically fixes the scrollbar. I was wondering if there was any way to simulate clicking the scrollbar to do this in the Form_Resize and SplitContainer_Resize event handlers but I couldn't find anything.

Having to manually adjust the scrollbar's value in all resizing events is slow, ugly, and doesn't work well. I'd really like for the scrollbar to just automatically fix itself when the window resizes like it does when you click its arrow but I'm not sure how.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

场罚期间 2024-12-07 03:13:51

尝试在表单的调整大小事件处理程序中调用滚动条的 Invalidate() 方法:
http://msdn.microsoft.com/en -us/library/system.windows.forms.control.invalidate.aspx

这应该会导致它在调整表单大小后正确重绘。

Try calling the scrollbar's Invalidate() method in the form's resize event handler:
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.invalidate.aspx

That should cause it to redraw correctly after the form is resized.

浪荡不羁 2024-12-07 03:13:51

使用这样的东西:

HScrollBarObject.SetStyle(ControlStyles.ResizeRedraw, true);

Use something like this:

HScrollBarObject.SetStyle(ControlStyles.ResizeRedraw, true);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文