gaurav ghodnadikar Ответов: 3

В TableLayoutPanel если Dock = Fill и AutoSize = true, то последний столбец/строка занимают все оставшееся пространство.


Всем привет,
В TableLayoutPanel если мы установим AutoSize = true и Dock = fill
тогда последний столбец/строка будет занимать все оставшееся пространство.
Как установить его на требуемую высоту (строка) и ширину (столбец)?

3 Ответов

Рейтинг:
2

gaurav ghodnadikar

Я нашел его.....
добавьте tablelayoutpanel как tbl1 с двумя строками и двумя столбцами.
установите его dock = fill autoscroll = true
и установите ширину для 1-го ряда autosize и для второго absoluto 0.00 F
то же самое касается столбцов 1 и 2.
теперь добавьте фактическую tablelayoytpanel в 1-й ряд 1-го столбца.


Рейтинг:
1

electrawinds

Отлично :-)

Решение выше работает...

Остальная часть моего кода...

Добавление строки и установка стиля строки...

CustomButton-это элемент управления buttoncontrol в коллекции кнопок...

foreach (CustomButton b in buttons)
    {
        b.Dock = DockStyle.Top;
        AddRow(b);
    }
}

private void AddRow(CustomButton b)
{
    int rowIndex = AddTableRow();
   tableLayoutPanel.Controls.Add(b, 0, rowIndex);
}

private int AddTableRow()
{
    int index = tableLayoutPanel.RowCount++;
    RowStyle style = new RowStyle(SizeType.AutoSize);
    tableLayoutPanel.RowStyles.Add(style);
    return index;
}


Рейтинг:
1

Member 13835405

В моем случае,

Я изменил опцию автопрокрутки после удаления одной строки

подобный этому,

tb1.RowCount = tb1.RowCount - 1
tb1.RowStyles.RemoveAt(tb1.RowStyles.Count - 1)
tb1.AutoScroll = False
tb1.AutoScroll = True

и тогда это срабатывает.