Caixa de texto Winform de limpeza automática C#
Pergunta
Eu tenho um usuário que deseja selecionar uma caixa de texto e ter o texto atual selecionado para que ele não precise destacar tudo para alterar o conteúdo.
O conteúdo precisa ser manipulado quando enter é pressionado.Essa parte eu acho que descobri, mas qualquer sugestão seria bem-vinda.
A parte em que preciso de ajuda é que, depois que enter for pressionado, qualquer entrada na caixa de texto deverá limpar o conteúdo novamente.
Editar: A caixa de texto controla uma peça de hardware de RF.O que o usuário deseja fazer é inserir uma configuração e pressionar Enter.A configuração é enviada para o hardware.Sem fazer mais nada, o usuário deseja digitar uma nova configuração e pressionar Enter novamente.
Solução
Conecte-se ao evento KeyPress no TextBox e, quando encontrar a tecla Enter, execute o código de configuração de hardware e, em seguida, destaque o texto completo da caixa de texto novamente (veja abaixo) - o Windows cuidará de limpar o texto com o próximo pressionamento de tecla para você.
TextBox1.Select(0, TextBox1.Text.Length);
Outras dicas
OK, você tem certeza de que isso é sensato?Estou imaginando dois cenários aqui:
- Há um botão padrão no formulário, que é "clicado" quando o enter é pressionado".
- Não há botão padrão e você deseja que o usuário pressione Enter de qualquer maneira.
Ambos levantam as mesmas questões:
- Existe alguma validação ocorrendo no texto?
- Por que não criar um controle de usuário para encapsular essa lógica?
- Se você sabe que o botão Enter está sendo pressionado e consumido corretamente, como você está tendo problemas com TextBoxName.Text = string.Empty ?
Além disso, como uma nota educada, você pode tentar desmembrar um pouco sua pergunta?Um grande bloco é um pouco difícil de ler.