如何手动滚动面板?

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

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

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

c.HorizontalScroll.Value += 100; c.VerticalScroll.Value = c.VerticalScroll.Maximum; 

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

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

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

面板上可能有一个属性来执行此操作,或者您可以遍历所有面板子项并调整其位置。

例如。 移动所有控件10 px:

 int xoffset = 10; foreach(Control c in panel1.Controls) c.Location.X += xoffset; 

可以将控件移动到负位置以使它们移出面板,类似地,它们的位置值可以大于面板大小,以使它们移出面板。