Почему у меня есть вертикальная полоса прокрутки в tablelayoutpanel - PullRequest
1 голос
/ 15 марта 2012

Я пытаюсь создать кнопки динамически и добавить их на панель макета таблицы, проблема в том, что независимо от того, что я делаю, у меня остается вертикальная полоса прокрутки, даже если у меня только один ряд кнопок. Код:

 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 ]

3 голосов
/ 15 марта 2012

Попробуйте добавить высоту горизонтальной полосы прокрутки к отступу элемента управления:

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);
  }
}
2 голосов
/ 15 марта 2012
tableLayoutPanel1.VerticalScroll.Enabled = false;

должен избавиться от вашей проблемы

0 голосов
/ 01 октября 2012

Я обхожу проблему, добавив свой элемент управления TableLayoutPanel для учета VeritcalScrollBarWidth.

Это VB.net, но вы получаете точку:

    'Prevent Constant Horizontal Scrollbar by padding for the VerticalBar
    MyTableLayoutPanel.Padding = New Padding(0, 0, SystemInformation.VerticalScrollBarWidth, 0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...