2014-04-01 81 views
2

我有一個包含非常大的面板的表單。當我設置面板時,我在窗體邊緣獲得了滾動條。如何將水平滾動位置設置爲指定值?

現在,我想將水平滾動條設置到指定的位置,這樣當我啓動我的應用程序時,滾動條應該位於面板的中間(我想在啓動時看到面板的中間位置我的應用程序)。

我怎麼能這樣做?

我發現可能的解決方案:http://www.codeproject.com/Articles/10839/How-to-change-scrollbars-position-in-a-multiline-t,但問題是它指的是多行文本框。我想爲表單做這件事。

回答

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); 
} 
相關問題