2011-04-06 111 views
6

有沒有辦法改變WinForms中的選項卡控件的背景顏色,以便它沒有圍繞它的白色邊框?如何在Winforms中更改選項卡控件的背景顏色?

我嘗試了幾種不同的方法,但它們都導致顯示相同的白色邊框。

+1

不,你會得到主題顏色。您可以關閉控件的視覺樣式,但將其恢復爲戰艦灰色,仍然沒有辦法改變。 – 2011-04-06 16:00:22

回答

1

TabControl有定製很差的支持。我用this custom tab control取得了很好的成績。如果你想像我一樣改變外觀,代碼是非常有用的。

1

更容易還是(IMO):添加油漆處理的TabPage的(不是頂級的TabControl,但TabPage的(一個或多個)內,然後畫在你想要的顏色矩形背景

  1. 無論在設計或「手動」,添加一個Paint事件處理程序的TabPage:

    Page1.Paint += tabpage_Paint; // custom paint event so we get the backcolor we want 
    
  2. 在paint方法,繪製頁的矩形你想要的顏色(在我的情況,我希望它遵循標準的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

我不認爲這解決了湯姆需要改變邊緣和頂部選項卡本身(即標題)周圍的顏色。 TabPage本身的客戶區根據您的描述進行更改,也可以通過Designer中的TabPage.BackColor完成。 隨着Rhapsody的鏈接_或代碼,還檢查了LauraM的答覆是在其侷限性這裏: http://stackoverflow.com/questions/67300/why-doesnt-backcolor-work-for-tabcontrols-in-net 最後,考慮此線程: http://stackoverflow.com/questions/5338587/set-tabpage-header-color – 2016-10-25 21:18:25

相關問題