Menggunakan TableLayoutPanel pada WinForm

Menggunakan TableLayoutPanel pada WinForm
Photo by Sincerely Media / Unsplash

Saat mengembangkan aplikasi Windows Forms (WinForms), tata letak yang rapi dan responsif sangat penting agar antarmuka pengguna terlihat profesional dan mudah digunakan. Salah satu kontrol yang sangat membantu dalam pengaturan tata letak adalah TableLayoutPanel.

TableLayoutPanel adalah kontrol yang memungkinkan kita menyusun elemen UI dalam bentuk tabel dengan baris dan kolom yang bisa diatur ukuran dan proporsinya secara fleksibel.

Artikel ini akan membahas apa itu TableLayoutPanel, bagaimana cara menggunakannya, serta contoh implementasinya dalam C#!

1. Apa Itu TableLayoutPanel dalam WinForms?

TableLayoutPanel adalah container yang membagi area menjadi baris dan kolom, sehingga memudahkan penempatan elemen UI dengan lebih terstruktur dan dinamis.

Membantu menyusun elemen dengan rapi dalam bentuk tabel.
Dapat menyesuaikan ukuran elemen UI secara otomatis.
Cocok untuk form dengan banyak kontrol seperti formulir input, dashboard, atau layout grid.

📌 Contoh Penggunaan TableLayoutPanel

  • Formulir pendaftaran dengan label dan input yang sejajar.
  • Dashboard aplikasi yang memiliki banyak widget.
  • Layout form yang fleksibel dan responsif terhadap perubahan ukuran jendela.

2. Cara Menambahkan TableLayoutPanel dalam WinForms

📌 A. Menggunakan Drag & Drop (Visual Studio Designer)

  1. Buka Visual Studio → Buat proyek Windows Forms App (.NET Framework).
  2. Buka ToolBox → Cari TableLayoutPanel.
  3. Seret dan letakkan TableLayoutPanel di dalam Form.
  4. Klik kanan TableLayoutPanel → Pilih Properties.
  5. Atur properti seperti jumlah baris & kolom, ukuran sel (Fixed, AutoSize, atau Percent), serta Dock dan Anchor untuk mengatur tata letak responsif.
  6. Tambahkan kontrol lain seperti Label, TextBox, Button, dan lainnya ke dalam sel-sel tabel.

📌 B. Menambahkan TableLayoutPanel dengan Kode C#

Kita juga bisa menambahkan TableLayoutPanel secara dinamis melalui kode C#.

using System;
using System.Windows.Forms;

public class MainForm : Form {
    public MainForm() {
        this.Text = "Contoh TableLayoutPanel di WinForms";
        this.Size = new System.Drawing.Size(500, 300);

        // Membuat TableLayoutPanel
        TableLayoutPanel tableLayout = new TableLayoutPanel();
        tableLayout.RowCount = 2;
        tableLayout.ColumnCount = 2;
        tableLayout.Dock = DockStyle.Fill;
        tableLayout.AutoSize = true;

        // Menambahkan kontrol ke dalam TableLayoutPanel
        Label lblNama = new Label() { Text = "Nama:", Dock = DockStyle.Fill };
        TextBox txtNama = new TextBox() { Dock = DockStyle.Fill };
        Label lblEmail = new Label() { Text = "Email:", Dock = DockStyle.Fill };
        TextBox txtEmail = new TextBox() { Dock = DockStyle.Fill };

        // Menempatkan kontrol pada sel-sel tabel
        tableLayout.Controls.Add(lblNama, 0, 0);
        tableLayout.Controls.Add(txtNama, 1, 0);
        tableLayout.Controls.Add(lblEmail, 0, 1);
        tableLayout.Controls.Add(txtEmail, 1, 1);

        // Menambahkan TableLayoutPanel ke dalam Form
        this.Controls.Add(tableLayout);
    }

    public static void Main() {
        Application.Run(new MainForm());
    }
}

📌 Penjelasan Kode

  • Membuat objek TableLayoutPanel dengan 2 baris dan 2 kolom.
  • Mengatur DockStyle.Fill agar memenuhi seluruh form.
  • Menambahkan Label dan TextBox untuk input data.
  • Menempatkan kontrol pada sel yang sesuai dengan Controls.Add(kontrol, kolom, baris);.

🛠️ Output Program:

  • Form akan menampilkan dua baris input (Nama & Email) yang tersusun rapi.
  • Label berada di kolom pertama, sedangkan input berada di kolom kedua.

3. Properti Penting dalam TableLayoutPanel

Properti Deskripsi
RowCount Menentukan jumlah baris dalam tabel
ColumnCount Menentukan jumlah kolom dalam tabel
Dock Mengatur apakah TableLayoutPanel mengisi form atau hanya bagian tertentu
AutoSize Menyesuaikan ukuran tabel dengan isi kontrol di dalamnya
CellBorderStyle Memberikan border antar sel (None, Single, Inset, Outset)
GrowStyle Menentukan apakah tabel bisa bertambah baris/kolom otomatis

📌 Contoh Mengatur Ukuran Baris dan Kolom

tableLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); // Kolom pertama 50%
tableLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); // Kolom kedua 50%
tableLayout.RowStyles.Add(new RowStyle(SizeType.AutoSize)); // Baris menyesuaikan isi

Dengan pengaturan ini, kolom terbagi rata 50:50, dan baris menyesuaikan isi kontrolnya.

4. Kapan Harus Menggunakan TableLayoutPanel?

Gunakan TableLayoutPanel jika:

  • Ingin menyusun banyak kontrol dengan rapi dalam bentuk grid.
  • Perlu layout yang responsif terhadap perubahan ukuran form.
  • Membutuhkan formulir input yang tertata dengan baik.

Jangan gunakan TableLayoutPanel jika:

  • Tata letaknya lebih sederhana dan bisa diatur dengan Panel biasa atau FlowLayoutPanel.
  • Membutuhkan tampilan yang sangat kompleks dan dinamis (gunakan DataGridView atau ListView).

5. Kesimpulan

  • TableLayoutPanel adalah kontrol WinForms yang memungkinkan pengelompokan elemen UI dalam bentuk grid.
  • Cocok untuk layout yang membutuhkan banyak kontrol seperti formulir atau dashboard.
  • Bisa ditambahkan menggunakan drag & drop atau dengan kode C#.
  • Memiliki properti seperti RowCount, ColumnCount, dan AutoSize untuk kontrol lebih lanjut.

Dengan memahami cara menggunakan TableLayoutPanel dalam WinForms, kamu bisa membuat UI yang lebih rapi, fleksibel, dan mudah diatur dalam aplikasi desktop!

Read more