2011-04-06 62 views
6

Có cách nào để thay đổi màu nền của điều khiển tab trong biểu mẫu thắng không, vì vậy nó không có đường viền màu trắng xung quanh nó?Làm cách nào để thay đổi màu nền của điều khiển tab trong Winforms?

Tôi đã thử một vài cách khác nhau, nhưng tất cả đều dẫn đến cùng đường viền màu trắng được hiển thị.

+1

Không, bạn nhận được màu chủ đề. Bạn có thể tắt các kiểu trực quan để điều khiển nhưng nó sẽ trở lại màu xám của thiết giáp hạm, vẫn không có cách nào thay đổi điều đó. –

Trả lời

6

Cách duy nhất để đạt được điều này là vẽ bản thân tabcontrol.

Here's an example trên CodeProject.com

1

TabControl đã hỗ trợ rất kém cho khách hàng. Tôi đã sử dụng this custom tab control với thành công tốt. Mã này khá dễ sử dụng nếu bạn muốn thay đổi giao diện như tôi đã làm.

1

dễ dàng hơn vẫn (IMO):. Thêm một handler sơn đến TabPage (không phải là mức TabControl hàng đầu, nhưng TabPage (s) bên trong nó, sau đó sơn hình chữ nhật nền trong màu sắc mà bạn muốn

  1. hoặc trong thiết kế hay "bằng tay", thêm một xử lý sự kiện Paint để các TabPage:

    Page1.Paint += tabpage_Paint; // custom paint event so we get the backcolor we want 
    
  2. trong phương pháp sơn, sơn trang hình chữ nhật màu mà bạn muốn (trong trường hợp của tôi, tôi muốn nó theo tiêu chuẩn BackColor):

    // force the tab background to the current BackColor 
    private void tabpage_Paint(object sender, PaintEventArgs e) 
    { 
        SolidBrush fillBrush = new SolidBrush(BackColor); 
    
        e.Graphics.FillRectangle(fillBrush, e.ClipRectangle); 
    } 
    
+0

Tôi không tin rằng điều này giải quyết nhu cầu của Tom để thay đổi màu sắc xung quanh các cạnh và các tab trên chính nó (tức là tiêu đề). Khu vực khách hàng của TabPage chính nó thay đổi như bạn mô tả, và cũng có thể được thực hiện thông qua TabPage.BackColor trong Nhà thiết kế. Với liên kết CodeProject của Rhapsody, cũng kiểm tra câu trả lời của LauraM về giới hạn của nó tại đây: http://stackoverflow.com/questions/67300/why-doesnt-backcolor-work-for-tabcontrols-in-net Cuối cùng, hãy xem xét cũng chủ đề này: http://stackoverflow.com/questions/5338587/set-tabpage-header-color –

Các vấn đề liên quan