Como posso capturar os pressionamentos de tecla Enter em qualquer lugar do meu formulário e forçá-lo a disparar o evento do botão de envio?
Como posso capturar os pressionamentos de tecla Enter em qualquer lugar do meu formulário e forçá-lo a disparar o evento do botão de envio?
Respostas:
Se você definir o seu Form
's AcceptButton
propriedade para uma das Button
s no Form
, você vai ter que o comportamento por padrão.
Caso contrário, defina a KeyPreview
propriedade como true
no Form
e manipule seu KeyDown
evento. Você pode verificar a Enter
chave e tomar as medidas necessárias.
Você pode designar um botão como o "AcceptButton" nas propriedades do Form e isso irá capturar qualquer pressionamento de tecla "Enter" no formulário e encaminhá-los para esse controle.
Consulte Como: Designar um botão do Windows Forms como o botão Aceitar usando o Designer e observe as poucas exceções que ele descreve (caixas de texto com várias linhas, etc.)
Conforme declarado anteriormente, defina a propriedade AcceptButton do formulário como um de seus botões E defina a propriedade DialogResult desse botão como DialogResult.OK , para que o chamador saiba se a caixa de diálogo foi aceita ou descartada.
Você pode se inscrever no KeyUp
evento do TextBox
.
private void txtInput_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
DoSomething();
}
O Form tem uma propriedade KeyPreview que você pode usar para interceptar o pressionamento de tecla.
Basta usar
this.Form.DefaultButton = MyButton.UniqueID;
** Coloque o id do botão no lugar de 'MyButton'.