Создать TableLayoutPanel программно в C#

Я имею TabControl который содержит один TabPageи другие TabPages добавляются динамически, по событию.

Первая вкладка содержит TableLayoutPanel, поэтому мне интересно, есть ли шанс добавить новый TableLayoutPanel каждому новому созданному TabPage, который такой же, как первый TableLayoutPanel но пусто?

Или, другими словами, я мог бы создать TableLayoutPanel программно?

1 ответ

Вы можете создать любой элемент управления программно, в том числе TableLayoutPanel, На самом деле, когда вы используете дизайнерские элементы управления также создаются программно - код генерируется Visual Studio.

Просто создайте новый TableLayoutPanel контролировать и устанавливать все его свойства (строки, столбцы и т. д.). Затем добавьте этот элемент управления в Controls свойство новой вкладки:

TabPage page = new TabPage("Another page");
page.Controls.Add(new TableLayoutPanel { Dock = DockStyle.Fill});
tabControl1.TabPages.Add(page);

Другой вариант для вас - создание пользовательского элемента управления с уже настроенным TableLayoutPanel, В этом случае вам нужно будет только создать новый пользовательский элемент управления и добавить его на вкладку.

Также вы можете создавать собственные TableLayoutPanel с указанными строками, столбцами и другими настройками. Например, этот элемент управления будет иметь две строки с предопределенной высотой 25% и 75%.

public class CustomTableLayoutPanel : TableLayoutPanel
{
    public CustomTableLayoutPanel()
    {
        RowStyles.Clear();
        RowStyles.Add(new RowStyle(SizeType.Percent, 0.25F));
        RowStyles.Add(new RowStyle(SizeType.Percent, 0.75F));
        BackColor = Color.Beige;
    }
}
Другие вопросы по тегам