C# -
Gerando um TableLayoutPanel dinamicamente
![]() |
Hoje vou mostrar como gerar um TableLayoutPanel de forma dinâmica. |
![]() |
O controle TableLayoutPanel é um ótimo controle para organizar outros controles em um formulário do Windows.
A maioria dos desenvolvedores apenas geram todas as linhas e colunas do designer e nunca tratam com o controle novamente em tempo de execução.
Ao contrário dos controles ListBox e ListView, alterar as Linhas e Colunas em tempo de execução não é tão óbvio no TableLayoutPanel.
Neste artigo veremos como trabalhar com este controle de forma dinâmica.
Vamos criar um novo projeto do tipo Windows Forms Application no VS 2017 Community com o nome WF_TableLayoutPanel;
A seguir inclua os controles abaixo no formulário Form1.cs:
Disponha os controles conforme o leiaute abaixo:
Agora inclua o método GeraTabela() no formulário (ou em uma classe) com o código abaixo:
private void GeraTabela(int coluna, int linha)
{
//Limpa os controles existentes
tlp1.Controls.Clear();
//limpa os estilos das linhas e colunas
tlp1.ColumnStyles.Clear();
tlp1.RowStyles.Clear();
//Gera a tabela
tlp1.ColumnCount = coluna;
tlp1.RowCount = linha;
for (int x = 0; x < coluna; x++)
{
//adiciona uma coluna
tlp1.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize));
for (int y = 0; y < linha; y++)
{
//adiciona uma linha
if (x == 0)
{
tlp1.RowStyles.Add(new RowStyle(SizeType.AutoSize));
}
//Cria um contole no interior da célula
Button cmd = new Button();
//posicina o controle corretamente
cmd.Text = string.Format("({0}, {1})", x, y);
cmd.BackColor = Color.Magenta;
cmd.ForeColor = Color.White;
tlp1.Controls.Add(cmd, x, y);
}
}
}
|
Este código cria uma tabela do tipo TableLayoutPanel com o número de linhas e colunas especificado e inclui um controle Button no interior de cada célula do controle.
Executando o projeto teremos:
Simples assim...
Pegue o código completo do projeto aqui:
WF_TableLayouPanel.zip
"Palavra fiel
é esta: que, se morrermos com ele, também com ele viveremos;
Se sofrermos, também com ele reinaremos; se o negarmos, também ele nos negará;
Se formos infiéis, ele permanece fiel; não pode negar-se a si mesmo."
2 Timóteo 2:11-13
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a
Objetos com VB .NET
Criando uma proteção de tela - Macoratti