Bạn phải tự vẽ nó vì không có API được xuất bản cho điều này. Hy vọng rằng điều này là tương đối dễ dàng để làm điều đó theo cách không hình ảnh.
Bạn có thể vẽ biên giới cửa sổ với ControlPaint.DrawBorder3D và sử dụng một cái gì đó giống như đoạn mã sau cho các nút:
int Top = bounds.Top;
int Bottom = bounds.Bottom - 1;
int Sign = 1;
if (tabStrip.EffectiveOrientation == TabOrientation.Bottom)
{
Top = bounds.Bottom - 1;
Bottom = bounds.Top;
Sign = -1;
}
using (Pen OuterLightBorderPen = new Pen(SystemColors.ControlLightLight))
{
e.Graphics.DrawLine(OuterLightBorderPen, bounds.Left, Bottom, bounds.Left, Top + 2 * Sign);
e.Graphics.DrawLine(OuterLightBorderPen, bounds.Left, Top + 2 * Sign, bounds.Left + 2, Top);
e.Graphics.DrawLine(OuterLightBorderPen, bounds.Left + 2, Top, bounds.Right - 3, Top);
}
using (Pen InnerLightBorderPen = new Pen(SystemColors.ControlLight))
{
e.Graphics.DrawLine(InnerLightBorderPen, bounds.Left + 1, Bottom, bounds.Left + 1, Top + 2 * Sign);
e.Graphics.DrawLine(InnerLightBorderPen, bounds.Left + 2, Top + 1 * Sign, bounds.Right - 3, Top + 1 * Sign);
}
using (Pen OuterDarkBorderPen = new Pen(SystemColors.ControlDarkDark))
{
e.Graphics.DrawLine(OuterDarkBorderPen, bounds.Right - 2, Top + 1 * Sign, bounds.Right - 1, Top + 2 * Sign);
e.Graphics.DrawLine(OuterDarkBorderPen, bounds.Right - 1, Top + 2 * Sign, bounds.Right - 1, Bottom);
}
using (Pen InnerDarkBorderPen = new Pen(SystemColors.ControlDark))
e.Graphics.DrawLine(InnerDarkBorderPen, bounds.Right - 2, Top + 2 * Sign, bounds.Right - 2, Bottom);
Bằng cách nào bạn muốn 'TabControl' tùy chỉnh khác với' System.Windows.Forms.TabControl'? –
Cho phép hoạt ảnh dưới dạng biểu tượng của Tab, Cho phép tùy chỉnh nút X chết trên mỗi Tab, Thay đổi vị trí và bản vẽ của nút trái và phải khi điều khiển tab không vừa với chiều rộng của điều khiển, cho phép nhấp chuột phải vào tab đóng bằng nút chuột giữa, cho phép kéo và thả các trang tab ... Tôi muốn các tab có chức năng giống như trong firefox. – DxCK