0

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 (図を参照) に似たものが必要です! どの変更が必要ですか?

VS2012 で生成された TabControl

どうも

4

0 に答える 0