如何手动滚动面板

本文关键字:滚动 何手动 | 更新日期: 2023-09-27 17:48:48

当Panel.AutoScroll为true时,我想使用相同的功能,但滚动条不可见。

要做到这一点,我需要知道如何使用代码中的函数向左/向右上/向下滚动。

如何手动滚动面板

您应该能够使用组件的VerticalScroll和HorizontalScroll属性:

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

如果你不想使用Autoscroll属性,我很久以前就用过一种方法。

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

它很简单,效果很好。

面板上可能有一个属性可以做到这一点,或者您可以循环遍历所有子面板并调整它们的位置。

例如。移动所有控件10像素:

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

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