Điều này rất dễ thực hiện mà không cần mở rộng TabControl/TabPage.
Xác định một UserControl và đặt các phần tử phổ biến vào nó mà bạn muốn trên mọi TabPage.
Trên biểu mẫu: tiếp tục và thiết kế các điều khiển TabPage cụ thể mà bạn muốn cho mỗi TabPage: đảm bảo rằng chúng sẽ không chồng chéo trực quan với các điều khiển chung khi UserControl đã được thêm.
Trong Form sự kiện Load của Form chính của bạn làm điều gì đó như thế này:
// form scoped variable to hold a referece to the current UserControl
private UserControl1 currentUserControl;
private void Form1_Load(object sender, EventArgs e)
{
foreach(TabPage theTabPage in tabControl1.TabPages)
{
currentUserControl = new UserControl1();
theTabPage.Margin = new Padding(0);
theTabPage.Padding = new Padding(0);
theTabPage.Controls.Add(currentUserControl);
currentUserControl.Location = new Point(0,0);
currentUserControl.Dock = DockStyle.Fill;
currentUserControl.SendToBack();
}
}
Mặc dù 'SendToBack là không thực sự cần thiết ở đây nó là 'bảo hiểm' mà UserControl của bạn với các' nút Okay và TextBox cho một thông báo lỗi được đặt phía sau các điều khiển riêng lẻ mà bạn đã gán cho mỗi TabPage.
Nút OK trên mỗi Trang? –
không đúng một câu trả lời, nhưng tôi nghĩ rằng tôi sẽ làm một số thử nghiệm mở rộng tabcontrolpage ban đầu, thêm các tính năng phổ biến bạn cần – michele