2012-03-15 71 views
1

我想創建一個按鈕動態並將它們添加到表佈局面板的問題是,無論我做什麼我保持垂直滾動條即使我只有一行按鈕。 代碼:爲什麼我有垂直滾動條tablelayoutpanel

private void button2_Click(object sender, EventArgs e) 
    { 
     for (int i = 0; i < 50; i++) 
     { 
      Button button = new Button(); 
     // button.Location = new Point(20, 30 * i + 10); 
     button.Click += new EventHandler(ButtonClick); 
     this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F)); 
     tableLayoutPanel1.ColumnCount += 1; 
     tableLayoutPanel1.Controls.Add(button); 
     } 
    } 

結果: enter image description here

我想擺脫它的水平一個是確定

在此先感謝

回答

3

試試添加水平滾動條的高度控制的填充:

private void button2_Click(object sender, EventArgs e) 
{ 
    tableLayoutPanel1.Padding = new Padding(0, 0, 0, SystemInformation.HorizontalScrollBarHeight); 

    for (int i = 0; i < 50; i++) 
    { 
    Button button = new Button(); 
    button.Click += new EventHandler(ButtonClick); 
    tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 20F)); 
    tableLayoutPanel1.ColumnCount += 1; 
    tableLayoutPanel1.Controls.Add(button); 
    } 
} 
+0

是的,這很好,非常感謝你 – 2012-03-15 16:26:41

2
tableLayoutPanel1.VerticalScroll.Enabled = false; 

應該擺脫你的問題

+0

沒有,因爲我已經啓用自動滾動造成它不工作 – 2012-03-15 15:20:32

+0

我需要它 – 2012-03-15 15:39:29

+0

到目前爲止,我知道有自動滾動到無任何添加兩個滾動條的效果例外。也許禁用自動滾動,但啓用horizo​​ntalscroll? – QQping 2012-03-15 15:44:58

0

我解決該問題通過填充我的TableLayoutPanel控件以佔VeritcalScrollBarWidth。

這是VB.net,但你明白了吧:

'Prevent Constant Horizontal Scrollbar by padding for the VerticalBar 
    MyTableLayoutPanel.Padding = New Padding(0, 0, SystemInformation.VerticalScrollBarWidth, 0)