自动滚动面板到底部

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

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

你可以通过设置Panel的VerticalScroll来做到这一点,但我认为最好使用ScrollControlIntoView

 private void panel1_ControlAdded(object sender, ControlEventArgs e) { panel1.ScrollControlIntoView(e.Control); } 

祝好运!

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

另一种解决方案是:

 panel.VerticalScroll.Value = panel.VerticalScroll.Maximum 

我发现,当用户向上或向下滚动面板时,以垂直增量不断向面板添加控件会受到负面影响。 我使用了上面Homam的提示,发现以下内容效果很好:

 panel1.VerticalScroll.Value = 0; // Creating and adding a TextBox, tb, to the panel panel1.ScrollControlIntoView(tb); 

首先,我滚动到顶部以便为文本框使用绝对垂直位置,然后放置文本框,最后,我确保新创建的文本框进入视图。