none
TabControl RRS feed

  • 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 If

    porem 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!

    sexta-feira, 27 de setembro de 2013 03:41

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.

    http://www.viblend.com/forum/d_postst252_Keyboard-Shortcut--Ctrl--Tab--to-switch-between-Tab-Pages.aspx

    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
    segunda-feira, 30 de setembro de 2013 17:23
  • 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
    terça-feira, 1 de outubro de 2013 11:45

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.

    http://www.viblend.com/forum/d_postst252_Keyboard-Shortcut--Ctrl--Tab--to-switch-between-Tab-Pages.aspx

    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
    segunda-feira, 30 de setembro de 2013 17:23
  • 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
    terça-feira, 1 de outubro de 2013 11:45