Como invocar o método SelectAll() para todos os controles TextBox numa aplicação WPF

Numa aplicação WindowsForms ou WPF uma prática muito comum é a utilização do método SelectAll() dos controles TextBox para selecionar o conteúdo digitado sempre que o controle recebe o foco. Este recurso é familiar para os usuários deste tipo de aplicação e agiliza a entrada de dados.



Você pode invocar o método SelectAll() a qualquer momento para selecionar o texto digitado no controle TextBox. Mas, uma forma prática para implementar este recurso é utilizar o evento OnStartup do objeto Application. Através deste evento você pode modificar o comportamento dos controles TextBox de forma que todos passem a disparar o método SelectAll() automaticamente, sempre que receberem o foco.



Esta abordagem não se limita aos controles TextBox, você pode utilizar a mesma técnica para customizar qualquer evento de qualquer controle utilizado na sua aplicação.



Exemplo prático


Para este exemplo, vamos criar um novo projeto com o template WPF Application. Eu chamei meu projeto de ExemploWPFTextBoxSelectAll. Na janela principal, MainWindow.xaml, adicione cinco controles TextBox. Defina o valor da propriedade Text com conteúdo aleatório, apenas para ilustrar o comportamento dos controles após nossa implementação. Sua janela MainWindow deverá apresentar aspecto semelhante ao da Figura 1.




Figura 1: A Janela MainWindow

Modificando o arquivo App.xaml.cs

Para esta abordagem, precisamos modificar o arquivo App.xaml.cs, acrescentando o código apresentado no Quadro1. O primeiro procedimento, protected override void OnStartup(StartupEventArgs e) substitui o evento original Application.OnStartup, registrando o novo conteúdo para o evento TextBox.GotFocusEvent.



Quadro 1: O arquivo App.xaml.cs

 

Testando a aplicação

Agora é só executar a aplicação e utilizar a tecla TAB para navegar através dos controles TextBox e observar que o método SelectAll() é executado selecionando o conteúdo dos controles. Outro exemplo no qual você pode aplicar esta mesma técnica é modificar o evento KeyDown dos controles TextBox para permitir que seu usuário navegue através dos controles, utilizando a tecla ENTER ao invés do TAB.

 

Aprofunde seus conhecimentos sobre este tema visitando a comunidade WPF.

 

Faça download deste arquivo no formato PDF e também do código-fonte deste exemplo.

 


 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>