Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

TabControl.DrawItem-Ereignis

 

Veröffentlicht: Oktober 2016

Tritt auf, wenn die TabControl alle Registerkarten Wenn gezeichnet werden muss die DrawMode Eigenschaft auf festgelegt ist OwnerDrawFixed.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public event DrawItemEventHandler DrawItem

Beim Festlegen der DrawMode Eigenschaft OwnerDrawFixed, der TabControl löst die DrawItem Ereignis, wenn eine seiner Registerkarten gezeichnet werden muss. Um die Darstellung der Registerkarten geben Sie Ihren eigenen Code zum Zeichnen in einem Handler für das DrawItem Ereignis.

Die TabControl Variable Tabulatorgrößen mit Ownerdrawing nicht unterstützt.

Weitere Informationen zur Behandlung von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.

Der folgende Code erstellt ein TabControl mit einem TabPage. Das folgende Beispiel deklariert einen Ereignishandler, der verwendet wird, um eine Zeichenfolge zu zeichnen und Rectangle auf der Registerkarte tabPage1. Der Ereignishandler gebunden ist, um die DrawItem Ereignis.

Verwenden der System.Drawing und System.Windows.Forms Namespaces für dieses Beispiel.

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());
    }
}

.NET Framework
Verfügbar seit 1.1
Zurück zum Anfang
Anzeigen: