当设置VerticalScroll.Value
在Panel
,AutoScroll
设置为true
时,滚动位置相应地改变,但拇指的位置不改变。我需要以某种方式更新滚动条(面板上的Invalidate(true)
不起作用)?有任何想法吗?滚动条在更改滚动值时不更新
回答
感谢.PerformLayout()
小费!
这对我来说还不够,我在表单Form.Shown
事件处理程序中设置了VerticalScroll.Value,出于某种原因,我必须事先添加一条DoEvents
指令来使滚动工作。
这里是我的Shown
事件处理程序:
Private Sub MyForm_Shown(sender As System.Object, e As System.EventArgs) Handles Me.Shown
System.Windows.Forms.Application.DoEvents()
ScrollPanel.VerticalScroll.Value = ScrollPanel.VerticalScroll.Maximum
ScrollPanel.PerformLayout()
End Sub
ScrollPanel控制System.Windows.Forms.Panel
类型。
没有Application.DoEvents()
行,垂直滚动值设置完全被忽略。
我认为这可能会派上用场。
当试图自动滚动包含图片框的面板时,我遇到了完全相同的问题。
我发现了另一种方法使其工作。增量滚动值的两倍:
ScrollPanel.VerticalScroll.Value += AmountToScroll
ScrollPanel.VerticalScroll.Value += AmountToScroll
递增首次使图片框到面板中滚动的价值,但.value的不会改变,大拇指不动。
第二次增加值会导致VerticalScroll.Value增加,移动拇指,但图片框不会再次滚动。
看起来像一个bug给我。当然,图片框的滚动和拇指的增加以及拇指的移动都应该在第一行代码之后发生。
我跑进东西几乎相同,其中我有一个图片(示出的曲线图)与滚动条在面板内部,我想或缩小保持鼠标指针位置“显然是”静止的放大。将PictureBox重新放置在面板内部以执行此操作将抛出与滚动条的同步,此后,使用滚动条滚动将不会显示PictureBox的全部区域。解决方案是通过将计算值分配给panel.HorizontalScroll.Value和/或panel.VerticalScroll.Value属性来完成移动。但是,仅仅是不够的:这两个解决方案之一是需要使应用程序表现为设计:
KMan的解决方案上面:
panel.HorizontalScroll.Value = computed_value panel.PerformLayout()
还是上面JJMcLellan的解决方案:在我的情况,分配计算值两次,例如:
panel.HorizontalScroll.Value = computed_value panel.HorizontalScroll.Value = computed_value
任一这些出现的一个为具有相同的最终结果。因为#2以上使得它看起来像一个bug,并且#1看起来(有希望)是由微软设计的(?),所以我最终在我的应用程序中使用了#1。我只想确认这些工作在VB.NET环境中。
- 1. 更改滚动条
- 2. 滚动条不更新页
- 3. 更改滚动条位置
- 4. 更改滚动条样式
- 5. NSFetchedResultsController在滚动时更新
- 6. BaseAdapter在滚动时更改值
- 7. 更改鼠标滚动时的滚动条速度
- 8. 滚轮滚动 - 滚动更改图片
- 9. 如何禁用WPF中更新GridView时的滚动条更改
- 10. wxpython滚动面板不更新滚动条
- 11. jQuery.scrollTop()在滚动条移动时不会更新
- 12. 滚动时更改图片
- 13. 滚动时更改div的值
- 14. 滚动时更改CSS样式的值
- 15. 的ListView滚动时更新
- 16. 滚动时Android GridView更新
- 17. 更改CSS滚动
- 18. 页面滚动视图滚动时控件不会更改
- 19. 通过UICollectionView滚动不断更新值
- 20. 如何使滚动条能够滚动以更改语言
- 21. 更改滚动条具有完善的滚动
- 22. 更改浏览器滚动条的可滚动高度
- 23. Android的 - 在运行时更改滚动条轨道绘制并强制滚动更新
- 24. 如何更改eclipse滚动条颜色
- 25. 更改滚动条背景IOS
- 26. 更改TextBox中的滚动条位置?
- 27. 如何更改滚动条的颜色
- 28. TableLayoutPanel更改滚动条(C#WinForms)
- 29. 仅更改iframe的滚动条样式
- 30. 如何更改滚动条的颜色
作品。非常感谢。 – EricSchaefer 2011-04-06 11:51:14
是的,可以确认,这对我来说在3种不同的控制方面完美无瑕。谢谢。 – Rob 2012-03-25 22:52:05
伟大的解决方案。 – 2016-11-17 06:47:37