Como faço para programaticamente selecionar uma guia em um .NET CF TabControl?
-
20-08-2019 - |
Pergunta
Com o Framework 2.0 / 3.5 TabControl, eu pode programaticamente seleccionar um separador utilizando a propriedade SelectedTab como mostrado no código abaixo:
//toggles between tabPage1 and tabPage2
private void button1_Click(object sender, EventArgs e)
{
if (tabControl1.SelectedTab == tabPage1)
tabControl1.SelectedTab = tabPage2;
else
tabControl1.SelectedTab = tabPage1;
}
O .NET Compact Quadro TabControl não tem uma propriedade SelectedTab como o seu homólogo .NET Framework. Então, como faço para selecionar uma guia de programação?
Solução
TabControl.SelectedIndex
Outras dicas
Eu programei esse código. Quando clicar em TabPage1, então o programa será fechado:
private void tabControl1_MouseClick(object sender, MouseEventArgs e)
{
if (tabControl1.SelectedTab == tabPage1)
{
MessageBox.Show("Logout!");
Application.Exit();
}
}
em .Net 4 pode usar
if (tabControl1.Controls[5] == tabControl1.SelectedTab)
MessageBox.Show("Tab 5 Is Selected");
ou
if ( tabpage5 == tabControl1.SelectedTab)
MessageBox.Show("Tab 5 Is Selected");
Eu descobri que quando o TabControl é selecionado, ele não exibir corretamente. Parece que depois de selecionar um TabControl é útil para atualizá-la. Então, onde o TabControl é chamado TabForm e tem várias abas, isso pode ser:
Me.TabForm.SelectedIndex = 0
Me.TabPg0.Refresh 'Where TabPg0 is the name of the Tab at Index 0
código WPF, tente o seguinte:
if (tabControl1.SelectedValue == tabPage1)
tabControl1.SelectedValue = tabPage2;
else
tabControl1.SelectedValue = tabPage1;