TabControl の操作 (特に無効化) の一環として、自分で描画します!
コード:
InitializeComponent();
this.TabControl.DrawMode = TabDrawMode.OwnerDrawFixed;
this.TabControl.DrawItem += new DrawItemEventHandler(TabControlDrawItem);
this.TabControl.Selecting += new TabControlCancelEventHandler(TabControlSelecting);
...
private void TabControlDrawItem(object sender, DrawItemEventArgs e)
{
TabPage page = m_tcView.TabPages[e.Index];
e.Graphics.FillRectangle(new SolidBrush(page.BackColor), e.Bounds);
Rectangle paddedBounds = e.Bounds;
int yOffset = (e.State == DrawItemState.Selected) ? -2 : 1;
paddedBounds.Offset(1, yOffset);
TextRenderer.DrawText(e.Graphics, page.Text, this.Font, paddedBounds, page.ForeColor);
}
private void TabControlSelecting(object sender, TabControlCancelEventArgs e)
{
if (e.TabPage.Enabled == false)
{
e.Cancel = true;
}
}
でも見た目だけじゃ満足できない!VS2012 で生成された TabControl (図を参照) に似たものが必要です! どの変更が必要ですか?
どうも