Freigeben über


TabControl.DrawMode-Eigenschaft

Ruft ab oder legt fest, wie die Registerkarten des Steuerelements gezeichnet werden.

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

Syntax

'Declaration
Public Property DrawMode As TabDrawMode
'Usage
Dim instance As TabControl
Dim value As TabDrawMode

value = instance.DrawMode

instance.DrawMode = value
public TabDrawMode DrawMode { get; set; }
public:
property TabDrawMode DrawMode {
    TabDrawMode get ();
    void set (TabDrawMode value);
}
/** @property */
public TabDrawMode get_DrawMode ()

/** @property */
public void set_DrawMode (TabDrawMode value)
public function get DrawMode () : TabDrawMode

public function set DrawMode (value : TabDrawMode)

Eigenschaftenwert

Ein TabDrawMode-Wert. Der Standardwert ist Normal.

Ausnahmen

Ausnahmetyp Bedingung

InvalidEnumArgumentException

Der Eigenschaftenwert ist kein gültiger TabDrawMode-Wert.

Hinweise

Wenn die DrawMode-Eigenschaft auf OwnerDrawFixed festgelegt wird, löst das TabControl ein DrawItem-Ereignis aus, wenn eine seiner Registerkarten neu gezeichnet werden muss. Die Darstellung der Registerkarten kann durch eigenen Zeichnungscode in einem Handler für das DrawItem-Ereignis angepasst werden.

Das TabControl unterstützt keine variablen Registerkartengrößen mit Ownerdrawing.

Beispiel

Im folgenden Beispiel wird ein TabControl mit einer TabPage erstellt. Im Beispiel wird die DrawMode-Eigenschaft auf OwnerDrawFixed festgelegt, wodurch angegeben wird, dass die Registerkarten vom übergeordneten Objekt (Form1) gezeichnet werden. Der Wert OwnerDrawFixed ermöglicht es außerdem, auf das DrawItem-Ereignis zuzugreifen, das in diesem Beispiel verwendet wird, um myTabRect auf der tabPage1-Registerkarte zu zeichnen.

Verwenden Sie mit diesem Beispiel den System.Drawing-Namespace und den System.Windows.Forms-Namespace.

Imports System.Drawing
Imports System.Windows.Forms

Public Class Form1
    Inherits Form
    Private tabControl1 As TabControl
    Private myTabRect As Rectangle

    Public Sub New()
        tabControl1 = New TabControl()
        Dim tabPage1 As 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)

        AddHandler tabControl1.DrawItem, AddressOf OnDrawItem
    End Sub

    Private Sub OnDrawItem(ByVal sender As Object, ByVal e As DrawItemEventArgs)
        Dim g As Graphics = e.Graphics
        Dim p As New Pen(Color.Blue)
        g.DrawRectangle(p, myTabRect)
    End Sub

    Shared Sub Main()
        Application.Run(New Form1())
    End Sub
End Class
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());
    }
}
using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public Form
{
private:
   TabControl^ tabControl1;
   Rectangle myTabRect;

public:
   Form1()
   {
      tabControl1 = gcnew TabControl;
      TabPage^ tabPage1 = gcnew 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 = Point(25,25);
      tabControl1->Size = System::Drawing::Size( 250, 250 );
      tabPage1->TabIndex = 0;
      myTabRect = tabControl1->GetTabRect( 0 );
      ClientSize = System::Drawing::Size( 300, 300 );
      Controls->Add( tabControl1 );
      tabControl1->DrawItem += gcnew DrawItemEventHandler( this, &Form1::OnDrawItem );
   }


private:
   void OnDrawItem( Object^ /*sender*/, DrawItemEventArgs^ e )
   {
      Graphics^ g = e->Graphics;
      Pen^ p = gcnew Pen( Color::Blue );
      g->DrawRectangle( p, myTabRect );
   }

};

int main()
{
   Application::Run( gcnew 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

Plattformen

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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

TabControl-Klasse
TabControl-Member
System.Windows.Forms-Namespace
TabDrawMode
DrawItem

Weitere Ressourcen

Steuerelemente mit integrierter Ownerdrawing-Unterstützung