(0) exportieren Drucken
Alle erweitern

TabControl-Klasse

Aktualisiert: November 2007

Verwaltet eine zusammengehörige Gruppe von Registerkarten.

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

[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class TabControl : Control
/** @attribute ComVisibleAttribute(true) */
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */
public class TabControl extends Control
public class TabControl extends Control

Ein TabControl enthält Registerkarten. Diese werden durch TabPage-Objekte dargestellt, die über die TabPages-Eigenschaft hinzugefügt werden. Die Reihenfolge der Registerkarten in dieser Auflistung entspricht der Reihenfolge der Registerkarten im Steuerelement.

Die aktuelle TabPage kann geändert werden, indem Sie auf eine der Registerkarten im Steuerelement klicken. Sie können die aktuelle TabPage auch programmgesteuert mit einer der folgenden TabControl-Eigenschaften ändern:

In .NET Framework Version 2.0 können Sie auch eine der folgenden Methoden verwenden:

In .NET Framework 2.0 können Sie auf eine Änderung der aktuellen Registerkarte durch Behandlung eines der folgenden Ereignisse reagieren:

Die Registerkarten in einem TabControl sind Teil des TabControl, aber nicht Teil der einzelnen TabPage-Steuerelemente. Member der TabPage-Klasse, z. B. die ForeColor-Eigenschaft, haben nur Auswirkungen auf das Clientrechteck der Registerkarte, aber nicht auf die Register. Die Hide-Methode der TabPage blendet die Registerkarte außerdem nicht aus. Zum Ausblenden der Registerkarte müssen Sie das TabPage-Steuerelement aus der TabControl.TabPages-Auflistung entfernen.

In .NET Framework 2.0 wird das Register als Teil der Registerkarte betrachtet, mit dem bestimmt wird, wann das Enter-Ereignis und das Leave-Ereignis der TabPage eintreten. In älteren Versionen von .NET Framework treten das Enter-Ereignis und das Leave-Ereignis der TabPage nicht ein, wenn der Fokus in das Register eintritt oder dieses verlässt, sondern nur dann, wenn der Fokus in das Clientrechteck der Registerkarte eintritt oder dieses verlässt.

Nur wenn mindestens eine TabPage in der TabControl.TabPages-Auflistung enthalten ist, werden die folgenden Ereignisse für die TabControl-Klasse ausgelöst: Control.Click, Control.DoubleClick, Control.MouseDown, Control.MouseUp, Control.MouseHover, Control.MouseEnter, Control.MouseLeave und Control.MouseMove. Wenn sich mindestens eine TabPage in der Auflistung befindet und eine Benutzerinteraktion für den Header des Registersteuerelements (den Bereich, in dem die TabPage-Namen angezeigt werden) stattfindet, löst das TabControl das entsprechende Ereignis aus. Wenn die Benutzerinteraktion jedoch im ClientRectangle der Registerkarte stattfindet, löst die TabPage das entsprechende Ereignis aus.

In einer TabPage enthaltene Steuerelemente werden erst dann erstellt, wenn die Registerkarte angezeigt wird, und Datenbindungen in diesen Steuerelementen werden erst beim Anzeigen der Registerkarte aktiviert.

Wenn visuelle Stile aktiviert sind und die Alignment-Eigenschaft auf einen anderen Wert als Top festgelegt ist, wird der Inhalt der Registerkarten möglicherweise nicht ordnungsgemäß wiedergegeben. Als Problemumgehung können Sie den Inhalt der Registerkarte mit Ownerdrawing selbst zeichnen. Weitere Informationen finden Sie unter Gewusst wie: Anzeigen von seitlich ausgerichteten Registerkarten mit TabControl.

Wenn die Alignment-Eigenschaft auf einen anderen Wert als Top und die Appearance-Eigenschaft auf einen anderen Wert als Normal festgelegt ist, wird der Inhalt der Registerkarten möglicherweise nicht ordnungsgemäß wiedergegeben.

Im folgenden Codebeispiel wird ein TabControl mithilfe des Windows Forms-Designer von Visual Studio .NET mit drei Registerkarten erstellt. Jede Registerkarte enthält mehrere Steuerelemente.

public class Form1 : System.Windows.Forms.Form
{
    // Required designer variable.
    private System.ComponentModel.Container components;

    // Declare variables.
    private System.Windows.Forms.RadioButton tab3RadioButton2;
    private System.Windows.Forms.RadioButton tab3RadioButton1;
    private System.Windows.Forms.CheckBox tab2CheckBox3;
    private System.Windows.Forms.CheckBox tab2CheckBox2;
    private System.Windows.Forms.CheckBox tab2CheckBox1;
    private System.Windows.Forms.Label tab1Label1;
    private System.Windows.Forms.Button tab1Button1;
    private System.Windows.Forms.TabPage tabPage3;
    private System.Windows.Forms.TabPage tabPage2;
    private System.Windows.Forms.TabPage tabPage1;
    private System.Windows.Forms.TabControl tabControl1;

    public Form1()
    {
        // This call is required for Windows Form Designer support.
        InitializeComponent();
    }


    // This method is required for Designer support.
    private void InitializeComponent()
    {
        this.components = new System.ComponentModel.Container();
        this.tabPage1 = new System.Windows.Forms.TabPage();
        this.tab2CheckBox3 = new System.Windows.Forms.CheckBox();
        this.tab3RadioButton2 = new System.Windows.Forms.RadioButton();
        this.tabControl1 = new System.Windows.Forms.TabControl();
        this.tab2CheckBox2 = new System.Windows.Forms.CheckBox();
        this.tab2CheckBox1 = new System.Windows.Forms.CheckBox();
        this.tab3RadioButton1 = new System.Windows.Forms.RadioButton();
        this.tab1Label1 = new System.Windows.Forms.Label();
        this.tabPage3 = new System.Windows.Forms.TabPage();
        this.tabPage2 = new System.Windows.Forms.TabPage();
        this.tab1Button1 = new System.Windows.Forms.Button();

        tabPage1.Text = "tabPage1";
        tabPage1.Size = new System.Drawing.Size(256, 214);
        tabPage1.TabIndex = 0;
        tab2CheckBox3.Location = new System.Drawing.Point(32, 136);
        tab2CheckBox3.Text = "checkBox3";
        tab2CheckBox3.Size = new System.Drawing.Size(176, 32);
        tab2CheckBox3.TabIndex = 2;
        tab2CheckBox3.Visible = true;
        tab3RadioButton2.Location = new System.Drawing.Point(40, 72);
        tab3RadioButton2.Text = "radioButton2";
        tab3RadioButton2.Size = new System.Drawing.Size(152, 24);
        tab3RadioButton2.TabIndex = 1;
        tab3RadioButton2.Visible = true;
        tabControl1.Location = new System.Drawing.Point(16, 16);
        tabControl1.Size = new System.Drawing.Size(264, 240);
        tabControl1.SelectedIndex = 0;
        tabControl1.TabIndex = 0;
        tab2CheckBox2.Location = new System.Drawing.Point(32, 80);
        tab2CheckBox2.Text = "checkBox2";
        tab2CheckBox2.Size = new System.Drawing.Size(176, 32);
        tab2CheckBox2.TabIndex = 1;
        tab2CheckBox2.Visible = true;
        tab2CheckBox1.Location = new System.Drawing.Point(32, 24);
        tab2CheckBox1.Text = "checkBox1";
        tab2CheckBox1.Size = new System.Drawing.Size(176, 32);
        tab2CheckBox1.TabIndex = 0;
        tab3RadioButton1.Location = new System.Drawing.Point(40, 32);
        tab3RadioButton1.Text = "radioButton1";
        tab3RadioButton1.Size = new System.Drawing.Size(152, 24);
        tab3RadioButton1.TabIndex = 0;
        tab1Label1.Location = new System.Drawing.Point(16, 24);
        tab1Label1.Text = "label1";
        tab1Label1.Size = new System.Drawing.Size(224, 96);
        tab1Label1.TabIndex = 1;
        tabPage3.Text = "tabPage3";
        tabPage3.Size = new System.Drawing.Size(256, 214);
        tabPage3.TabIndex = 2;
        tabPage2.Text = "tabPage2";
        tabPage2.Size = new System.Drawing.Size(256, 214);
        tabPage2.TabIndex = 1;
        tab1Button1.Location = new System.Drawing.Point(88, 144);
        tab1Button1.Size = new System.Drawing.Size(80, 40);
        tab1Button1.TabIndex = 0;
        tab1Button1.Text = "button1";
        tab1Button1.Click += new 
           System.EventHandler(this.tab1Button1_Click);
        this.Text = "Form1";

        // Adds controls to the second tab page.
        tabPage2.Controls.Add(this.tab2CheckBox3);
        tabPage2.Controls.Add(this.tab2CheckBox2);
        tabPage2.Controls.Add(this.tab2CheckBox1);
        // Adds controls to the third tab page.
        tabPage3.Controls.Add(this.tab3RadioButton2);
        tabPage3.Controls.Add(this.tab3RadioButton1);
        // Adds controls to the first tab page.
        tabPage1.Controls.Add(this.tab1Label1);
        tabPage1.Controls.Add(this.tab1Button1);
        // Adds the TabControl to the form.
        this.Controls.Add(this.tabControl1);
        // Adds the tab pages to the TabControl.
        tabControl1.Controls.Add(this.tabPage1);
        tabControl1.Controls.Add(this.tabPage2);
        tabControl1.Controls.Add(this.tabPage3);
    }

    private void tab1Button1_Click (object sender, System.EventArgs e)
    {
        // Inserts the code that should run when the button is clicked.
    }

    public static void Main(string[] args) 
    {
        Application.Run(new Form1());
    }
}



public class Form1 extends System.Windows.Forms.Form
{
    // Required designer variable.
    private System.ComponentModel.Container components;

    // Declare variables.
    private System.Windows.Forms.RadioButton tab3RadioButton2;
    private System.Windows.Forms.RadioButton tab3RadioButton1;
    private System.Windows.Forms.CheckBox tab2CheckBox3;
    private System.Windows.Forms.CheckBox tab2CheckBox2;
    private System.Windows.Forms.CheckBox tab2CheckBox1;
    private System.Windows.Forms.Label tab1Label1;
    private System.Windows.Forms.Button tab1Button1;
    private System.Windows.Forms.TabPage tabPage3;
    private System.Windows.Forms.TabPage tabPage2;
    private System.Windows.Forms.TabPage tabPage1;
    private System.Windows.Forms.TabControl tabControl1;

    public Form1()
    {
        // This call is required for Windows Form Designer support.
        InitializeComponent();
    } //Form1

    // This method is required for Designer support.
    private void InitializeComponent()
    {
        this.components = new System.ComponentModel.Container();
        this.tabPage1 = new System.Windows.Forms.TabPage();
        this.tab2CheckBox3 = new System.Windows.Forms.CheckBox();
        this.tab3RadioButton2 = new System.Windows.Forms.RadioButton();
        this.tabControl1 = new System.Windows.Forms.TabControl();
        this.tab2CheckBox2 = new System.Windows.Forms.CheckBox();
        this.tab2CheckBox1 = new System.Windows.Forms.CheckBox();
        this.tab3RadioButton1 = new System.Windows.Forms.RadioButton();
        this.tab1Label1 = new System.Windows.Forms.Label();
        this.tabPage3 = new System.Windows.Forms.TabPage();
        this.tabPage2 = new System.Windows.Forms.TabPage();
        this.tab1Button1 = new System.Windows.Forms.Button();
        tabPage1.set_Text("tabPage1");
        tabPage1.set_Size(new System.Drawing.Size(256, 214));
        tabPage1.set_TabIndex(0);
        tab2CheckBox3.set_Location(new System.Drawing.Point(32, 136));
        tab2CheckBox3.set_Text("checkBox3");
        tab2CheckBox3.set_Size(new System.Drawing.Size(176, 32));
        tab2CheckBox3.set_TabIndex(2);
        tab2CheckBox3.set_Visible(true);
        tab3RadioButton2.set_Location(new System.Drawing.Point(40, 72));
        tab3RadioButton2.set_Text("radioButton2");
        tab3RadioButton2.set_Size(new System.Drawing.Size(152, 24));
        tab3RadioButton2.set_TabIndex(1);
        tab3RadioButton2.set_Visible(true);
        tabControl1.set_Location(new System.Drawing.Point(16, 16));
        tabControl1.set_Size(new System.Drawing.Size(264, 240));
        tabControl1.set_SelectedIndex(0);
        tabControl1.set_TabIndex(0);
        tab2CheckBox2.set_Location(new System.Drawing.Point(32, 80));
        tab2CheckBox2.set_Text("checkBox2");
        tab2CheckBox2.set_Size(new System.Drawing.Size(176, 32));
        tab2CheckBox2.set_TabIndex(1);
        tab2CheckBox2.set_Visible(true);
        tab2CheckBox1.set_Location(new System.Drawing.Point(32, 24));
        tab2CheckBox1.set_Text("checkBox1");
        tab2CheckBox1.set_Size(new System.Drawing.Size(176, 32));
        tab2CheckBox1.set_TabIndex(0);
        tab3RadioButton1.set_Location(new System.Drawing.Point(40, 32));
        tab3RadioButton1.set_Text("radioButton1");
        tab3RadioButton1.set_Size(new System.Drawing.Size(152, 24));
        tab3RadioButton1.set_TabIndex(0);
        tab1Label1.set_Location(new System.Drawing.Point(16, 24));
        tab1Label1.set_Text("label1");
        tab1Label1.set_Size(new System.Drawing.Size(224, 96));
        tab1Label1.set_TabIndex(1);
        tabPage3.set_Text("tabPage3");
        tabPage3.set_Size(new System.Drawing.Size(256, 214));
        tabPage3.set_TabIndex(2);
        tabPage2.set_Text("tabPage2");
        tabPage2.set_Size(new System.Drawing.Size(256, 214));
        tabPage2.set_TabIndex(1);
        tab1Button1.set_Location(new System.Drawing.Point(88, 144));
        tab1Button1.set_Size(new System.Drawing.Size(80, 40));
        tab1Button1.set_TabIndex(0);
        tab1Button1.set_Text("button1");
        tab1Button1.add_Click(new System.EventHandler(this.tab1Button1_Click));
        this.set_Text("Form1");

        // Adds controls to the second tab page.
        tabPage2.get_Controls().Add(this.tab2CheckBox3);
        tabPage2.get_Controls().Add(this.tab2CheckBox2);
        tabPage2.get_Controls().Add(this.tab2CheckBox1);

        // Adds controls to the third tab page.
        tabPage3.get_Controls().Add(this.tab3RadioButton2);
        tabPage3.get_Controls().Add(this.tab3RadioButton1);

        // Adds controls to the first tab page.
        tabPage1.get_Controls().Add(this.tab1Label1);
        tabPage1.get_Controls().Add(this.tab1Button1);

        // Adds the TabControl to the form.
        this.get_Controls().Add(this.tabControl1);

        // Adds the tab pages to the TabControl.
        tabControl1.get_Controls().Add(this.tabPage1);
        tabControl1.get_Controls().Add(this.tabPage2);
        tabControl1.get_Controls().Add(this.tabPage3);
    } //InitializeComponent

    private void tab1Button1_Click(Object sender, System.EventArgs e)
    {
        // Inserts the code that should run when the button is clicked.
    } //tab1Button1_Click

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


Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

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

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 3.5, 2.0, 1.0

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft