Em interfaces gráficas de usuário (GUI), uma interface tabulada ou um Tab Control é um widget que permite a interação de vários documentos ou painéis para ser contido dentro de uma única janela, usando guias como um widget de navegação para alternar entre conjuntos de painéis.
TabControl
Gerencia um conjunto relacionado de páginas de guia.
TabPage
Representa uma página única guia em um TabControl.
SelectedIndex
Ocorre quando houver uma mudança na propriedade do índice de uma guia.
Exemplo:
Neste exemplo criamos um painel tabulado com 3 guias onde na primeira e na segunda guia o usuário entrará com um numero inteiro e na terceira guia sobre o evento SelectedIndex efetuaremos a soma dos números escolhidos.
C#
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace tabControl_cs { public partial class Form1 : Form { // Declara componentes Label rotulo1; Label rotulo2; Label rotulo3; TabControl abas; TabPage painel1; TabPage painel2; TabPage painel3; TextBox numero1; TextBox numero2; Label total; public Form1() { InitializeComponent(); } private void Form1_Shown(object sender, EventArgs e) { // Altera propriedades do formulario this.Text = "DA- Tab Control"; this.Size = new Size(250, 200); // Cria componentes rotulo1 = new Label(); rotulo2 = new Label(); rotulo3 = new Label(); total = new Label(); numero1 = new TextBox(); numero2 = new TextBox(); painel1 = new TabPage(); painel2 = new TabPage(); painel3 = new TabPage(); abas = new TabControl(); // Adiciona propriedades aos paineis painel1.TabIndex = 0; painel1.Text = "Numero 1"; painel1.Size = new Size(260, 215); painel2.TabIndex = 1; painel2.Text = "Numero 2"; painel2.Size = new Size(260, 215); painel3.TabIndex = 2; painel3.Text = "Total"; painel3.Size = new Size(260, 215); // Adiciona texto aos componentes rotulo1.Text = "Escolha o primero numero inteiro:"; rotulo2.Text = "Escolha o segundo numero inteiro:"; rotulo3.Text = "Total da soma:"; total.Text = "0"; // Adiciona tamanho aos componentes rotulo1.Size = new Size(230, 20); rotulo2.Size = new Size(230, 20); rotulo3.Size = new Size(230, 20); // Posiciona componentes abas.Location = new Point(12, 20); rotulo1.Location = new Point(12,20); numero1.Location = new Point(12, 40); rotulo2.Location = new Point(12, 20); numero2.Location = new Point(12, 40); rotulo3.Location = new Point(12, 20); total.Location = new Point(12, 40); // Adiciona componentes aos paineis painel1.Controls.Add(rotulo1); painel1.Controls.Add(numero1); painel2.Controls.Add(rotulo2); painel2.Controls.Add(numero2); painel3.Controls.Add(rotulo3); painel3.Controls.Add(total); // Adiciona paineis ao controle de guias abas.Controls.Add(painel1); abas.Controls.Add(painel2); abas.Controls.Add(painel3); // Cria evento na mudança de guias abas.SelectedIndexChanged += new System.EventHandler(this.abas_SelectedIndexChanged); // Adiciona Guias ao formulario this.Controls.Add(abas); } private void abas_SelectedIndexChanged(object sender, EventArgs e) { // Verifica mudança de guias if (abas.SelectedIndex == 2) { // Efetua calculo int soma = Convert.ToInt32(numero1.Text) + Convert.ToInt32(numero2.Text); total.Text = Convert.ToString(soma); } } } }