Jump to content

Invocar método noutro método


MariaA
 Share

Recommended Posts

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.

Edited by apocsantos
geshi
Link to comment
Share on other sites

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

Nelson Silva / Fundador Doa-se

nsilva@doa-se.com / 932080068

Doa-se : http://Doa-se.com

Link to comment
Share on other sites

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");
}
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.