c# - 使用AutoScroll = true手动滚动Control

时间:2015-09-29 08:32:00

标签: c# winforms scroll

我有Panel AutoScroll=true。我想手动滚动面板的VerticalScroll。我已尝试设置VerticalScroll.ValuePanel.ScrollControlIntoView(...)

但是,这两种情况都会产生以下结果:滚动条似乎已滚动到该值,但面板的内容仍然不动。向上滚动显示一个空面板。

我正在尝试在启动期间执行此操作。如果我在延迟(从一个线程)后直接滚动到控件,它可以工作(虽然设置滚动条值不是)。

是否有更好的(同步)方式来实现我正在寻找的东西?

1 个答案:

答案 0 :(得分:1)

使用Shown事件,例如:

private void Form1_Shown(object sender, EventArgs e)
{
    this.panel1.ScrollControlIntoView(this.button1);
    //Or if you need a special location:
    //this.panel1.AutoScrollPosition = new Point(100, 100);
}