Menyembunyikan Butang TabControl untuk Pengurusan Panel
Dalam usaha memperkemas antara muka pengguna, keperluan sering timbul untuk mengurus berbilang panel dengan keterlihatan terkawal. Walaupun pengendalian manual menawarkan sedikit fleksibiliti, ia menjadi menyusahkan apabila berurusan dengan berbilang panel, terutamanya semasa masa reka bentuk. Penyelesaian yang ideal akan melibatkan penggunaan TabControl dengan butang tersembunyi, membenarkan kawalan keterlihatan panel melalui elemen UI alternatif.
Alternatif kepada TabControl
Alternatif berikut telah dipertimbangkan:
Penyelesaian Optimum: Kawalan Tab Tersuai
Penyelesaian yang optimum ialah mencipta TabControl tersuai yang menyembunyikan butangnya. Ini dicapai melalui keajaiban API Windows, khususnya dengan memintas mesej TCM_ADJUSTRECT dan mengembalikan 1. Ini menghalang kawalan tab daripada melaraskan rect yang mengandungi tab, dengan berkesan menjadikannya tidak kelihatan.
Penggunaan:
Tambah kelas baharu pada projek anda, tampal kod yang disediakan (lihat di bawah) dan susun. Lepaskan kawalan baharu pada borang anda untuk mengekalkan keterlihatan tab semasa masa reka bentuk sambil menyembunyikannya semasa masa jalan. Gunakan sifat SelectedIndex atau SelectedTab untuk bertukar antara panel.
using System; using System.Windows.Forms; class StackPanel : TabControl { protected override void WndProc(ref Message m) { // Hide tabs by trapping the TCM_ADJUSTRECT message if (m.Msg == 0x1328 && !DesignMode) m.Result = (IntPtr)1; else base.WndProc(ref m); } }
Penyelesaian ini menyediakan cara yang mudah dan cekap untuk mengurus keterlihatan panel tanpa had pengendalian manual atau keperluan untuk kawalan tersuai.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyembunyikan Butang TabControl Semasa Masih Menguruskan Keterlihatan Panel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!