none
Efeito Tab com tecla Enter RRS feed

  • Pergunta

  • Ola a todos, estou a iniciar-me no Silverlight e estou aqui com uma pequena dúvida, gostaria que alguém me ajudasse a aplicar à tecla Enter as propriedades do Tab nas Textbox's, ou seja, passa de textbox em textbox quando carregamentos no Enter.
    Se alguém puder ajudar, agradecia bastante.

    Obrigado
    Adérito
    terça-feira, 19 de maio de 2009 14:47

Respostas

  • Olá.

    Dependendo da estrutura do seu código xaml, o efeito da tecla Tab já vem configurado. Mas de qualquer maneira é possível identificar e configurar as ações para todas as teclas.

    Dê uma olhada neste link:
    http://www.brasilverlight.com.br/post/2009/04/27/Controlando-objetos-pelo-teclado-(Silverlight).aspx

    Mas de qualquer forma, para deixar o textbox já ativo ao carregar a página, você pode utilizar o método Focus(). Segue um exemplo.

            public Page()
            {
                InitializeComponent();
                Loaded += new RoutedEventHandler(Page_Loaded);
            }
    
            void Page_Loaded(object sender, RoutedEventArgs e)
            {
                KeyDown += new KeyEventHandler(Page_KeyDown);
                txt1.Focus();
            }
    
            void Page_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.Key.ToString().ToLower() == "enter")
                {
                    //eventos para a tecla enter
                }
            }
    Espero ter ajudado.
    Abraços

    "Se sua pergunta foi respondida, por favor, marque como resposta"
    terça-feira, 19 de maio de 2009 15:14
    Moderador

Todas as Respostas

  • Olá.

    Dependendo da estrutura do seu código xaml, o efeito da tecla Tab já vem configurado. Mas de qualquer maneira é possível identificar e configurar as ações para todas as teclas.

    Dê uma olhada neste link:
    http://www.brasilverlight.com.br/post/2009/04/27/Controlando-objetos-pelo-teclado-(Silverlight).aspx

    Mas de qualquer forma, para deixar o textbox já ativo ao carregar a página, você pode utilizar o método Focus(). Segue um exemplo.

            public Page()
            {
                InitializeComponent();
                Loaded += new RoutedEventHandler(Page_Loaded);
            }
    
            void Page_Loaded(object sender, RoutedEventArgs e)
            {
                KeyDown += new KeyEventHandler(Page_KeyDown);
                txt1.Focus();
            }
    
            void Page_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.Key.ToString().ToLower() == "enter")
                {
                    //eventos para a tecla enter
                }
            }
    Espero ter ajudado.
    Abraços

    "Se sua pergunta foi respondida, por favor, marque como resposta"
    terça-feira, 19 de maio de 2009 15:14
    Moderador
  • Pode ser uma solução, vou partir daqui e tentar adaptar ao que quero, na realidade o que quero é criar um género de dictionary resource de modo a que em todas as textbox's da minha aplicação, quando clico no Enter, o focus passa para a próxima.


    Adérito
    terça-feira, 19 de maio de 2009 15:34
  • Entendi. Bom é só aplicar alguma lógica para identificar qual textbox está ativo e, ao digitar enter, ir para o próximo.

    Abraços.

    "Se sua pergunta foi respondida, por favor, marque como resposta"

    terça-feira, 19 de maio de 2009 17:07
    Moderador