目前在我的应用程序中,我使用HScrollBar和VScrollBar在大图像中进行平移。显示的图像部分基于滚动条的Value属性。但是,在调整SplitContainer的大小或调整窗体窗口大小时,滚动条的值不会自动更新,并且可能会在屏幕外呈现某些内容。
此时我注意到,如果你单击滚动条的箭头,它会神奇地修复滚动条。我想知道是否有任何方法可以模拟单击滚动条在Form_Resize和SplitContainer_Resize事件处理程序中执行此操作,但我找不到任何内容。
必须在所有调整大小事件中手动调整滚动条的值是缓慢,丑陋,并且不能很好地工作。我非常希望滚动条能够在窗口调整时自动修复,就像点击箭头时一样,但我不确定如何。
答案 0 :(得分:2)
尝试在表单的resize事件处理程序中调用滚动条的Invalidate()
方法:
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.invalidate.aspx
这会导致在调整表单大小后正确重绘。
答案 1 :(得分:0)
使用类似的东西:
HScrollBarObject.SetStyle(ControlStyles.ResizeRedraw, true);