2011-04-06 78 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

相关问题