我有一个包含非常大的面板的表单。当我设置面板时,我在表单的边缘得到了滚动条。
现在,我想将水平滚动条设置为指定的位置,这样当我启动应用程序时,滚动条应该位于面板的中间(我想在启动时看到面板的中间位置)应用程序)。
我该怎么做?
我找到了可能的解决方案:http://www.codeproject.com/Articles/10839/How-to-change-scrollbars-position-in-a-multiline-t,但问题是它引用了多行文本框。我想为表单做这件事。
答案 0 :(得分:2)
您可以通过从客户端宽度偏移滚动大小来设置中间位置:
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
panel1.AutoScroll = false;
panel1.AutoScrollMinSize = new Size(1000, 0);
panel1.AutoScrollPosition = new Point((panel1.AutoScrollMinSize.Width -
panel1.ClientSize.Width) / 2, 0);
}
由于您的面板大于表格,您可以这样试试(我假设面板位于X = 0位置:
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
this.AutoScroll = false;
this.AutoScrollMinSize = new Size(panel1.Width, 0);
this.AutoScrollPosition = new Point((this.AutoScrollMinSize.Width -
this.ClientSize.Width) / 2, 0);
}