【问题标题】:c# - Manually scroll Control with AutoScroll=truec# - 使用 AutoScroll=true 手动滚动控件
【发布时间】:2015-09-29 08:32:00
【问题描述】:

我有一个PanelAutoScroll=true。我想手动滚动面板的VerticalScroll。我已经尝试过设置VerticalScroll.ValuePanel.ScrollControlIntoView(...)

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

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

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

【问题讨论】:

  • 分配 AutoScrollPosition 属性以强制滚动。
  • 这似乎没有任何作用。我尝试分配正值和负值,但 AutoScrollPosition 仍然是 (0,0)

标签: c# winforms scroll


【解决方案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);
}

【讨论】:

  • 谢谢,这就是我想要的。在显示 Form 之前无法滚动是有道理的。
猜你喜欢
  • 1970-01-01
  • 2015-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-03
  • 2023-03-21
相关资源
最近更新 更多