Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #58 da revista programar. Faz já o download aqui!

MariaA

Invocar método noutro método

Mensagens Recomendadas

MariaA    0
MariaA

Bom dia.

Tenho em C# um form que faz uma pesquisa após inserir texto num textBox e clicar no botão 'Pesquisar'.

O método que faz essa pesquisa tem a assinatura:

private void btProcurar_Click(object sender, EventArgs e)
{

Agora quero que essa pesquisa possa ser feita se preencher o textBox e pressionar a tecla Enter.

Eis o código:

private void tbPesquisa_KeyPress(object sender, KeyPressEventArgs e) {
 if (e.KeyChar == (char)Keys.Enter) {
	 MessageBox.Show("Cliquei ENTER.");
	 this.btProcurar_Click();
 }
}

A minha dúvida é que valores passar aos parametros 'sender' e 'e' do método que estou a invocar.

Se alguém me conseguisse explicar/ajudar a perceber como funcionam estes parametros.

Obrigada.

Editado por apocsantos
geshi

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
NelsonSilva    4
NelsonSilva

Bom dia.

Tenho em C# um form que faz uma pesquisa após inserir texto num textBox e clicar no botão 'Pesquisar'.

O método que faz essa pesquisa tem a assinatura:

private void btProcurar_Click(object sender, EventArgs e)
{

Agora quero que essa pesquisa possa ser feita se preencher o textBox e pressionar a tecla Enter.

Eis o código:

private void tbPesquisa_KeyPress(object sender, KeyPressEventArgs e) {
 if (e.KeyChar == (char)Keys.Enter) {
	 MessageBox.Show("Cliquei ENTER.");
	 this.btProcurar_Click();
 }
}

A minha dúvida é que valores passar aos parametros 'sender' e 'e' do método que estou a invocar.

Se alguém me conseguisse explicar/ajudar a perceber como funcionam estes parametros.

Obrigada.

Bom dia,

O parametro sender tem a referência para o objecto que o chamou. No caso do teu botão btProcurar_Click, o sender tem a referência do próprio botão.

O sender pode ser útil para validar que tipo de objecto é, e assim aceder às suas propriedades.

Por exemplo:

Button btn = sender as Button;

O parâmetro "e" é uma instância do eventargs e contém informação sobre o evento que é disparado.

Nenhum destes parâmetros é útil para o que desejas, nem é boa política alterar o seu comportamento.

No teu caso em concreto não vejo necessidade de passares nenhum parâmetro, penso que basta chamares o evento click como estas a fazer:https://msdn.microsoft.com/en-us/library/hkkb40tf%28v=vs.90%29.aspx

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
munkbozz    7
munkbozz

Não é comum realizar o trigger da ação click de um button, ficará mais organizado e de melhor manutenção posteriormente se criares um método na tua classe e inserir no corpo dos contextos em que pretenderes chamar:

private void btProcurar_Click(object sender, EventArgs e) { metodoButton1Click(); }

// ...

private void tbPesquisa_KeyPress(object sender, KeyPressEventArgs e) {
if (e.KeyChar == (char)Keys.Enter) {
	MessageBox.Show("Cliquei ENTER.");
	metodoButton1Click();
}
}

protected DialogResult metodoButton1Click() {
 return MessageBox.Show("btProcurar_Click");
}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.