当前位置: 首页 > 编程语言 > C#

C#UserControl.VerticalScroll.Value未设置分享

时间:2023-04-10 19:37:36 C#

C#学习教程:C#UserControl.VerticalScroll.Value未设置当类的任何子对象改变大小时调用它。此类的AutoScroll属性设置为true。publicvoidScrollTo(inttop){if(top>=this.VerticalScroll.Minimum&&top<=this.VerticalScroll.Maximum){this.VerticalScroll.Value=top;}}问题是,在遍历代码时,有时是this.VerticalScroll.Value,有时它会保留调用此方法之前的值。这是VS中的一个错误,还是存在一个已知条件,该值将忽略设置它的尝试?谢谢,Rob我遇到了同样的问题,并在一些开发论坛中找到了解决方案。设置VerticalScroll.Value后,必须调用PerformLayout()来更新滚动控件。这样做:scrollingcontrol.VerticalScroll.Value=top;滚动控制.PerformLayout();这比设置.Value两次更有意义,尽管它似乎具有相同的效果。我遇到了同样的问题,我在MSDN网页上找到了解决方案(由于我是新用户,所以不允许我发布链接)。建议的解决方案是分配.Value两次,它对我有用:intnewVerticalScrollValue=pDashboard.VerticalScroll.Value-pDashboard.VerticalScroll.SmallChange;pDashboard.VerticalScroll.Value=newVerticalScrollValue;pDashboard.VerticalScroll.Value=newVerticalScrollValue;FlowLayoutPanel似乎是另一种野兽。滚动条确实向下移动,但flowlayoutpanel.VerticalScroll.Value的值保持为0。我尝试了上述所有技术加上一些DoEvents()和Thread.Sleep(),甚至是在下一次迭代之前完全产生的计时器。一切都失败了。我最终发现DisplayRectangle.Y立即表示滚动变化...privatevoidPrintButton_Click(objectsender,EventArgse){列表printPics=newList();intprintLastY=100;flp.VerticalScroll.Value=0;while(flp.DisplayRectangle.Y在我的例子中,有必要将VerticalScroll.Value设置为不同的值,然后设置为感兴趣的值,例如this.panel1.VerticalScroll.Value=verticalScrollPosition-1;this.panel1.VerticalScroll。Value=verticalScrollPosition;请注意,滚动位置始终在VerticalScroll.Minimum和VerticalScroll.Maximum之间。以上就是C#学习教程的全部内容:C#UserControl.VerticalScroll.Value未设置共享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: