自动滚动面板到底部

Ale*_*lex 10 .net c# winforms

我在winforms中有一个面板,在其中我加载了一些用户控件.

每次添加新的用户控件时,我都想自动滚动到面板的底部(当我的面板填充时).我怎么能这样做?

Hom*_*mam 20

您可以通过设置VerticalScrollPanel来实现,但我认为最好使用它ScrollControlIntoView.

private void panel1_ControlAdded(object sender, ControlEventArgs e)
{
    panel1.ScrollControlIntoView(e.Control);
}
Run Code Online (Sandbox Code Playgroud)

祝好运!


Dan*_*rth 19

您可以使用ScrollControlIntoView并传递上次添加的控件.

另一种解决方案是:

panel.VerticalScroll.Value = panel.VerticalScroll.Maximum
Run Code Online (Sandbox Code Playgroud)

  • 任何尝试此解决方案的人都有滚动条没有更新的问题,您需要在设置Value后调用PerformLayout().此处确认的问题和解决方案:http://stackoverflow.com/questions/5565653/scrollbar-does-not-update-on-changing-the-scroll-value (8认同)