Export (0) Print
Expand All

TabControl.DrawMode Property

Gets or sets the way that the control's tabs are drawn.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

public TabDrawMode DrawMode { get; set; }
/** @property */
public TabDrawMode get_DrawMode ()

/** @property */
public void set_DrawMode (TabDrawMode value)

public function get DrawMode () : TabDrawMode

public function set DrawMode (value : TabDrawMode)

Not applicable.

Property Value

One of the TabDrawMode values. The default is Normal.

Exception typeCondition

InvalidEnumArgumentException

The property value is not a valid TabDrawMode value.

When you set the DrawMode property to OwnerDrawFixed, the TabControl raises the DrawItem event whenever it needs to paint one of its tabs. To customize the appearance of the tabs, provide your own painting code in a handler for the DrawItem event.

The TabControl does not support variable tab sizes with owner drawing.

The following code example creates a TabControl with one TabPage. This example sets the DrawMode property to OwnerDrawFixed, which specifies that the tabs are drawn by the parent object Form1. The value OwnerDrawFixed also enables access to the DrawItem event, which, in this example, is used to draw myTabRect on the tabPage1 tab.

Use the System.Drawing and System.Windows.Forms namespaces with this example.

using System.Drawing;
using System.Windows.Forms;

public class Form1 : Form
{
    private TabControl tabControl1;
    private Rectangle myTabRect;

    public Form1()
    {
        tabControl1 = new TabControl();
        TabPage tabPage1 = new TabPage();

        // Sets the tabs to be drawn by the parent window Form1.
        // OwnerDrawFixed allows access to DrawItem. 
        tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;

        tabControl1.Controls.Add(tabPage1);
        tabControl1.Location = new Point(25, 25);
        tabControl1.Size = new Size(250, 250);

        tabPage1.TabIndex = 0;

        myTabRect = tabControl1.GetTabRect(0);

        ClientSize = new Size(300, 300);
        Controls.Add(tabControl1);

        tabControl1.DrawItem += new DrawItemEventHandler(OnDrawItem);
    }
 
    private void OnDrawItem(object sender, DrawItemEventArgs e)
    {
        Graphics g = e.Graphics;
        Pen p = new Pen(Color.Blue);
        g.DrawRectangle(p, myTabRect);
    }

    static void Main() 
    {
        Application.Run(new Form1());
    }
}

import System.Drawing.*;
import System.Windows.Forms.*;

public class Form1 extends Form
{
    private TabControl tabControl1;
    private Rectangle myTabRect;

    public Form1()
    {
        tabControl1 = new TabControl();

        TabPage tabPage1 = new TabPage();

        // Sets the tabs to be drawn by the parent window Form1.
        // OwnerDrawFixed allows access to DrawItem. 
        tabControl1.set_DrawMode(TabDrawMode.OwnerDrawFixed);
        tabControl1.get_Controls().Add(tabPage1);
        tabControl1.set_Location(new Point(25, 25));
        tabControl1.set_Size(new Size(250, 250));
        tabPage1.set_TabIndex(0);
        myTabRect = tabControl1.GetTabRect(0);
        set_ClientSize(new Size(300, 300));
        get_Controls().Add(tabControl1);
        tabControl1.add_DrawItem(new DrawItemEventHandler(OnDrawItem));
    } //Form1

    private void OnDrawItem(Object sender, DrawItemEventArgs e)
    {
        Graphics g = e.get_Graphics();
        Pen p = new Pen(Color.get_Blue());
        g.DrawRectangle(p, myTabRect);
    } //OnDrawItem

    public static void main(String[] args)
    {
        Application.Run(new Form1());
    } //main
} //Form1

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft