It could be that you changed the ForeColor of the parent Form or Control to White, try changing that to Black first.
I had problems with the TabControl a long time ago and wrote a custom control to solve it:
namespace Xxx
{
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
public class CustomTabControl : TabControl
{
private System.ComponentModel.IContainer components = null;
public CustomTabControl()
{
this.InitializeComponent();
}
public override Color BackColor
{
get
{
return base.BackColor;
}
set
{
base.BackColor = value;
foreach (TabPage page in this.TabPages)
{
page.BackColor = SkinSettings.FormBackgroundColor;
}
}
}
protected override void DefWndProc(ref Message m)
{
switch (m.Msg)
{
default:
base.DefWndProc(ref m);
break;
}
}
protected override void Dispose( bool disposing )
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Designer generated code
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
}
#endregion
protected override void OnParentChanged(EventArgs e)
{
if (Parent != null)
{
foreach (TabPage tabpage in TabPages)
{
tabpage.BackColor = Parent.BackColor;
}
}
base.OnParentChanged(e);
}
}
}
public class CustomTabPage : TabPage
{
public CustomTabPage(string name) : base(name)
{
}
public override System.Drawing.Color BackColor
{
get
{
return SkinSettings.FormBackgroundColor;
}
set
{
base.BackColor = SkinSettings.FormBackgroundColor;
}
}
}