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

3

我的应用程序中,我使用HScrollBar和VScrollBar来在一张大图片中进行平移。显示的部分基于滚动条的Value属性。然而,在调整SplitContainer或调整窗体大小时,滚动条的Value不会自动更新,可能会呈现出屏幕外的内容。

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

在所有调整大小事件中手动调整滚动条的值很慢、难看且效果不佳。我真的希望滚动条能像单击其箭头时那样在窗口调整大小时自动修复自己,但我不知道如何做到。


你在哪个控件中显示图片? - Renatas M.
我正在使用GraphicsDeviceControl。http://create.msdn.com/en-US/education/catalog/sample/winforms_series_1 - John Smith
也许可以提供一些代码和截图吗? - Andrew Russell
安德鲁是正确的。如果没有看到它,很难说出正在发生什么。 - Yustme
2个回答

2

我认为他指的是控件的无效方法。 - RSinohara

0

可以使用类似这样的代码:

HScrollBarObject.SetStyle(ControlStyles.ResizeRedraw, true);

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