添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
public ref class TabControl : System::Windows::Forms::Control
public class TabControl : System.Windows.Forms.Control
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComVisible(true)]
public class TabControl : System.Windows.Forms.Control
type TabControl = class
    inherit Control
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type TabControl = class
    inherit Control
Public Class TabControl
Inherits Control
Object
TabControl

下面的代码示例使用 Visual Studio Windows 窗体 Designer创建包含三个 TabControl 选项卡页的 。 每个选项卡页都包含多个控件。

public ref class Form1: public System::Windows::Forms::Form private: // Required designer variable. System::ComponentModel::Container^ components; // Declare variables. System::Windows::Forms::RadioButton^ tab3RadioButton2; System::Windows::Forms::RadioButton^ tab3RadioButton1; System::Windows::Forms::CheckBox^ tab2CheckBox3; System::Windows::Forms::CheckBox^ tab2CheckBox2; System::Windows::Forms::CheckBox^ tab2CheckBox1; System::Windows::Forms::Label ^ tab1Label1; System::Windows::Forms::Button^ tab1Button1; System::Windows::Forms::TabPage^ tabPage3; System::Windows::Forms::TabPage^ tabPage2; System::Windows::Forms::TabPage^ tabPage1; System::Windows::Forms::TabControl^ tabControl1; public: Form1() // This call is required for Windows Form Designer support. InitializeComponent(); private: // This method is required for Designer support. void InitializeComponent() this->components = gcnew System::ComponentModel::Container; this->tabPage1 = gcnew System::Windows::Forms::TabPage; this->tab2CheckBox3 = gcnew System::Windows::Forms::CheckBox; this->tab3RadioButton2 = gcnew System::Windows::Forms::RadioButton; this->tabControl1 = gcnew System::Windows::Forms::TabControl; this->tab2CheckBox2 = gcnew System::Windows::Forms::CheckBox; this->tab2CheckBox1 = gcnew System::Windows::Forms::CheckBox; this->tab3RadioButton1 = gcnew System::Windows::Forms::RadioButton; this->tab1Label1 = gcnew System::Windows::Forms::Label; this->tabPage3 = gcnew System::Windows::Forms::TabPage; this->tabPage2 = gcnew System::Windows::Forms::TabPage; this->tab1Button1 = gcnew System::Windows::Forms::Button; tabPage1->Text = "tabPage1"; tabPage1->Size = System::Drawing::Size( 256, 214 ); tabPage1->TabIndex = 0; tab2CheckBox3->Location = System::Drawing::Point( 32, 136 ); tab2CheckBox3->Text = "checkBox3"; tab2CheckBox3->Size = System::Drawing::Size( 176, 32 ); tab2CheckBox3->TabIndex = 2; tab2CheckBox3->Visible = true; tab3RadioButton2->Location = System::Drawing::Point( 40, 72 ); tab3RadioButton2->Text = "radioButton2"; tab3RadioButton2->Size = System::Drawing::Size( 152, 24 ); tab3RadioButton2->TabIndex = 1; tab3RadioButton2->Visible = true; tabControl1->Location = System::Drawing::Point( 16, 16 ); tabControl1->Size = System::Drawing::Size( 264, 240 ); tabControl1->SelectedIndex = 0; tabControl1->TabIndex = 0; tab2CheckBox2->Location = System::Drawing::Point( 32, 80 ); tab2CheckBox2->Text = "checkBox2"; tab2CheckBox2->Size = System::Drawing::Size( 176, 32 ); tab2CheckBox2->TabIndex = 1; tab2CheckBox2->Visible = true; tab2CheckBox1->Location = System::Drawing::Point( 32, 24 ); tab2CheckBox1->Text = "checkBox1"; tab2CheckBox1->Size = System::Drawing::Size( 176, 32 ); tab2CheckBox1->TabIndex = 0; tab3RadioButton1->Location = System::Drawing::Point( 40, 32 ); tab3RadioButton1->Text = "radioButton1"; tab3RadioButton1->Size = System::Drawing::Size( 152, 24 ); tab3RadioButton1->TabIndex = 0; tab1Label1->Location = System::Drawing::Point( 16, 24 ); tab1Label1->Text = "label1"; tab1Label1->Size = System::Drawing::Size( 224, 96 ); tab1Label1->TabIndex = 1; tabPage3->Text = "tabPage3"; tabPage3->Size = System::Drawing::Size( 256, 214 ); tabPage3->TabIndex = 2; tabPage2->Text = "tabPage2"; tabPage2->Size = System::Drawing::Size( 256, 214 ); tabPage2->TabIndex = 1; tab1Button1->Location = System::Drawing::Point( 88, 144 ); tab1Button1->Size = System::Drawing::Size( 80, 40 ); tab1Button1->TabIndex = 0; tab1Button1->Text = "button1"; tab1Button1->Click += gcnew System::EventHandler( this, &Form1::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 ); void tab1Button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ ) // Inserts the code that should run when the button is clicked. int main() Application::Run( gcnew Form1 ); 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 Inherits System.Windows.Forms.Form ' Required designer variable. Private components As System.ComponentModel.Container ' Declares variables. Private tab3RadioButton2 As System.Windows.Forms.RadioButton Private tab3RadioButton1 As System.Windows.Forms.RadioButton Private tab2CheckBox3 As System.Windows.Forms.CheckBox Private tab2CheckBox2 As System.Windows.Forms.CheckBox Private tab2CheckBox1 As System.Windows.Forms.CheckBox Private tab1Label1 As System.Windows.Forms.Label Private WithEvents tab1Button1 As System.Windows.Forms.Button Private tabPage3 As System.Windows.Forms.TabPage Private tabPage2 As System.Windows.Forms.TabPage Private tabPage1 As System.Windows.Forms.TabPage Private tabControl1 As System.Windows.Forms.TabControl Public Sub New() ' This call is required for Windows Form Designer support. InitializeComponent() End Sub ' This method is required for Designer support. Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Me.tabPage1 = New System.Windows.Forms.TabPage() Me.tab2CheckBox3 = New System.Windows.Forms.CheckBox() Me.tab3RadioButton2 = New System.Windows.Forms.RadioButton() Me.tabControl1 = New System.Windows.Forms.TabControl() Me.tab2CheckBox2 = New System.Windows.Forms.CheckBox() Me.tab2CheckBox1 = New System.Windows.Forms.CheckBox() Me.tab3RadioButton1 = New System.Windows.Forms.RadioButton() Me.tab1Label1 = New System.Windows.Forms.Label() Me.tabPage3 = New System.Windows.Forms.TabPage() Me.tabPage2 = New System.Windows.Forms.TabPage() Me.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" Me.Text = "Form1" ' Adds controls to the second tab page. tabPage2.Controls.Add(Me.tab2CheckBox3) tabPage2.Controls.Add(Me.tab2CheckBox2) tabPage2.Controls.Add(Me.tab2CheckBox1) ' Adds controls to the third tab page. tabPage3.Controls.Add(Me.tab3RadioButton2) tabPage3.Controls.Add(Me.tab3RadioButton1) ' Adds controls to the first tab page. tabPage1.Controls.Add(Me.tab1Label1) tabPage1.Controls.Add(Me.tab1Button1) ' Adds the TabControl to the form. Me.Controls.Add(tabControl1) ' Adds the tab pages to the TabControl. tabControl1.Controls.Add(Me.tabPage1) tabControl1.Controls.Add(Me.tabPage2) tabControl1.Controls.Add(Me.tabPage3) End Sub Private Sub tab1Button1_Click(sender As Object, e As System.EventArgs) _ Handles tab1Button1.Click ' Inserts the code that should run when the button is clicked. End Sub Public Shared Sub Main() Application.Run(New Form1()) End Sub End Class

包含 TabControl 选项卡页,这些选项卡页由 TabPage 通过 TabPages 属性添加的对象表示。 此集合中选项卡页的顺序反映了选项卡在控件中的显示顺序。

用户可以通过单击控件中的选项卡之一来更改当前 TabPage 。 还可以使用以下属性之一 TabControl 以编程方式更改当前 TabPage

  • SelectedIndex

  • SelectedTab

    在 .NET Framework 2.0 中,还可以使用以下方法之一:

  • SelectTab

  • DeselectTab

    在 .NET Framework 2.0 中,可以通过处理以下事件之一,在当前选项卡更改时做出响应:

  • Deselecting

  • Deselected

  • Selecting

  • Selected

    中的选项卡是 的一 TabControl 部分, TabControl 但不是各个 TabPage 控件的一部分。 类的成员 TabPage (如 ForeColor 属性)仅影响选项卡页的客户端矩形,而不会影响选项卡。 此外, Hide TabPage 方法不会隐藏选项卡。若要隐藏选项卡,必须从 TabControl.TabPages 集合中删除 TabPage 控件。

    在 .NET Framework 2.0 中,选项卡被视为选项卡页的一部分,用于确定 Enter 何时发生 和 Leave 事件 TabPage 。 在早期版本的.NET Framework中 Enter ,当焦点进入或离开选项卡时,不会发生 和 Leave 事件 TabPage ,而仅在焦点进入或离开选项卡页的客户端矩形时发生。

    除非集合中至少有一个 TabPage 事件,否则不会为 TabControl 类引发以下事件: Control.Click 、、 Control.DoubleClick Control.MouseDown Control.MouseUp Control.MouseHover Control.MouseEnter Control.MouseLeave Control.MouseMove TabControl.TabPages 如果集合中至少有一个 TabPage ,并且用户与选项卡控件的标头交互 ( TabPage 名称出现在) ,则会 TabControl 引发相应的事件。 但是,如果用户交互位于选项卡页的 内 ClientRectangle ,则会 TabPage 引发相应的事件。

    在显示选项卡页之前,不会创建 包含在 中的 TabPage 控件,并且这些控件中的任何数据绑定在选项卡页显示之前不会激活。

    启用视觉样式并且 属性 Alignment 设置为 以外的 Top 值时,选项卡内容可能无法正确呈现。 若要解决此问题,可以使用所有者绘图自行绘制选项卡内容。 有关详细信息,请参阅 如何:使用 TabControl 显示Side-Aligned选项卡

    当 属性 Alignment 设置为非 Top 值,并且属性 Appearance 设置为 以外的 Normal 值时,选项卡页内容可能无法正确呈现。

  •