Usuário com melhor resposta
TabControl

Pergunta
-
Boa Noite!
Gostaria de Saber como faço para que um atalho do teclado, alternas entre todas as abas?
Criei um TabControl1 principal que possui 7 abas.
E uma TabControl2 que fica na primeira Aba do TabControl1 Principal.
Essa TabControl2 tem 6 abas.
Criei o seguinte codigo para a troca de abas:
Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode.ToString = "F2" Then
Me.TabControl1.SelectedTab = TabPage2
Me.TextBox1.Focus()
End Ifporem ele só altera da 1° aba para a 2° aba, mas quero que, cada vez que eu apertar Shift + F8, ele troca aba por aba,
Shift + F8 para alternar entre as 6 abas dentro da TabControl2.
Agradeço Atenção!
Respostas
-
Boa tarde,
No link a seguir tem um exemplo de como realizar tal procedimento usando Ctrl + Tab. Creio que seja ecessário apenas adaptar para o seu comando de troca.
Att,
Giovani Cruzara – Microsoft Contingent Staff
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.
Msdn Community Support
Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.- Marcado como Resposta Giovani Cr quarta-feira, 2 de outubro de 2013 11:59
-
Bom dia,
Fiz um exemplo de código abaixo. Conforme entendi você tem um tabcontrol dentro de outro, ou seja, no tabcontrol2 quando você apertar "Shift+ F8" quer ele passe de aba, correto?. O Código abaixo faz com que ele mude para a próxima aba sempre que apertar "Shift+F8" e caso ele estiver na última aba ele volta para a primeira.
Você pode ver que no "load" do fomulário estou habilitando o "KeyPreview" isso é muito importante para funcionar, está propriedade pertence ao formulário então se não quiser fazer pelo código como eu fiz, você pode fazer direto nas propriedades do formulário.
Espero ter ajudado.
Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown If (e.Shift And e.KeyCode.ToString = "F8") Then If (TabControl2.SelectedIndex + 1 = TabControl2.Controls.Count) Then TabControl2.SelectedIndex = 0 Else TabControl2.SelectedIndex = TabControl2.SelectedIndex + 1 End If End If End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.KeyPreview = True End Sub
Adriano M.Mizukoshi
- Marcado como Resposta Giovani Cr quarta-feira, 2 de outubro de 2013 11:59
Todas as Respostas
-
Boa tarde,
No link a seguir tem um exemplo de como realizar tal procedimento usando Ctrl + Tab. Creio que seja ecessário apenas adaptar para o seu comando de troca.
Att,
Giovani Cruzara – Microsoft Contingent Staff
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.
Msdn Community Support
Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.- Marcado como Resposta Giovani Cr quarta-feira, 2 de outubro de 2013 11:59
-
Bom dia,
Fiz um exemplo de código abaixo. Conforme entendi você tem um tabcontrol dentro de outro, ou seja, no tabcontrol2 quando você apertar "Shift+ F8" quer ele passe de aba, correto?. O Código abaixo faz com que ele mude para a próxima aba sempre que apertar "Shift+F8" e caso ele estiver na última aba ele volta para a primeira.
Você pode ver que no "load" do fomulário estou habilitando o "KeyPreview" isso é muito importante para funcionar, está propriedade pertence ao formulário então se não quiser fazer pelo código como eu fiz, você pode fazer direto nas propriedades do formulário.
Espero ter ajudado.
Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown If (e.Shift And e.KeyCode.ToString = "F8") Then If (TabControl2.SelectedIndex + 1 = TabControl2.Controls.Count) Then TabControl2.SelectedIndex = 0 Else TabControl2.SelectedIndex = TabControl2.SelectedIndex + 1 End If End If End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.KeyPreview = True End Sub
Adriano M.Mizukoshi
- Marcado como Resposta Giovani Cr quarta-feira, 2 de outubro de 2013 11:59