Menyembunyikan Butang TabControl untuk Pengurusan Panel Bertindan
Dalam mereka bentuk antara muka pengguna, mungkin mencabar untuk mengurus berbilang panel yang memaparkan pelbagai topeng data. Pendekatan biasa ialah menggunakan kawalan TreeView untuk pemilihan panel dan mengendalikan keterlihatan panel secara manual. Walau bagaimanapun, pendekatan ini boleh menjadi rumit apabila menambah atau mengubah saiz panel.
Penyelesaian Potensi
Dua penyelesaian berpotensi wujud:
Optimum Penyelesaian
Penyelesaian yang paling berkesan melibatkan memanfaatkan sedikit keajaiban API Windows. Dengan mencipta kelas tersuai dan melaksanakan kaedah WndProc, anda boleh memerangkap mesej TCM_ADJUSTRECT yang TabControl hantar untuk melaraskan saiz tab. Ini membolehkan saiz tab dilaraskan kepada sifar semasa masa jalan, menyembunyikan butang tab dengan berkesan.
Dengan menggunakan sifat SelectedIndex atau SelectedTab, anda boleh bertukar antara panel dengan lancar, menggunakan TreeView untuk pemilihan item dan TabControl untuk panel reka letak.
Pelaksanaan
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); } }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyembunyikan Butang TabControl Semasa Masih Menggunakannya untuk Pengurusan Panel Bertindan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!