TabControl.DrawItem Evento

Definición

Se produce cuando TabControl necesita dibujar cada una de sus fichas al establecer la propiedad DrawMode en OwnerDrawFixed.

C#
public event System.Windows.Forms.DrawItemEventHandler DrawItem;
C#
public event System.Windows.Forms.DrawItemEventHandler? DrawItem;

Tipo de evento

Ejemplos

En el ejemplo de código siguiente se crea un objeto TabControl con uno TabPage. En este ejemplo se declara un controlador de eventos que se usa para dibujar una cadena y Rectangle en la pestaña de tabPage1. El controlador de eventos está enlazado al DrawItem evento.

C#
using System.Drawing;
using System.Windows.Forms;

public class Form1 : Form
{
    private Rectangle tabArea;
    private RectangleF tabTextArea;

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

        // Allows access to the DrawItem event. 
        tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;

        tabControl1.SizeMode = TabSizeMode.Fixed;
        tabControl1.Controls.Add(tabPage1);
        tabControl1.ItemSize = new Size(80, 30);
        tabControl1.Location = new Point(25, 25);
        tabControl1.Size = new Size(250, 250);
        tabPage1.TabIndex = 0;
        ClientSize = new Size(300, 300);
        Controls.Add(tabControl1);

        tabArea = tabControl1.GetTabRect(0);
        tabTextArea = (RectangleF)tabControl1.GetTabRect(0);

        // Binds the event handler DrawOnTab to the DrawItem event 
        // through the DrawItemEventHandler delegate.
        tabControl1.DrawItem += new DrawItemEventHandler(DrawOnTab);
    }

    // Declares the event handler DrawOnTab which is a method that
    // draws a string and Rectangle on the tabPage1 tab.
    private void DrawOnTab(object sender, DrawItemEventArgs e)
    {
        Graphics g = e.Graphics;
        Pen p = new Pen(Color.Blue);
        Font font = new Font("Arial", 10.0f);
        SolidBrush brush = new SolidBrush(Color.Red);

        g.DrawRectangle(p, tabArea);
        g.DrawString("tabPage1", font, brush, tabTextArea);
    }

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

Comentarios

Cuando se establece la DrawMode propiedad OwnerDrawFixeden , TabControl genera el DrawItem evento siempre que necesite pintar una de sus pestañas. Para personalizar la apariencia de las pestañas, proporcione su propio código de pintura en un controlador para el DrawItem evento.

TabControl No admite tamaños de tabulación variables con el dibujo del propietario.

Para obtener más información sobre el manejo de eventos, consulte controlar y provocar eventos.

Se aplica a

Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Consulte también