如何手动滚动面板?

Jon*_*nas 16 .net c# winforms

我希望在Panel.AutoScroll为true时使用相同的功能,但滚动条不可见.

为此,我需要知道如何使用代码中的函数向左/向右/向上滚动.

bob*_*olt 13

您应该能够使用组件的VerticalScroll和Horizo​​ntalScroll属性:

c.HorizontalScroll.Value += 100;
c.VerticalScroll.Value = c.VerticalScroll.Maximum;
Run Code Online (Sandbox Code Playgroud)

  • 由于我发现了一个奇怪的错误,你最好使用`var v = ScrollingPanel.VerticalScroll; v.Value = v.Value = Math.Min(v.Maximum,v.Value + v.LargeChange);或者,当面板执行时,滚动条实际上​​不会移动.由于某种原因,值会在绘制滚动条之前更改,但是再次设置它将更新它. (4认同)

Cyr*_*pta 10

好吧,如果您不想使用Autoscroll属性,那么我很久以前就会使用这种方法.

  • 将面板放在面板内.将滚动条控件放在父面板上,然后使用滚动条更改内部面板的Top属性.

它很简单,工作得很漂亮.