如何调用多个事件的常用方法

时间:2018-03-08 07:19:47

标签: c#

您好,我有这段代码:

    private void txtNumero_KeyDown(object sender, KeyEventArgs e)
    {
        CercaCliente();
    }
    private void txtNote_KeyDown(object sender, KeyEventArgs e)
    {
        CercaCliente();
    }
    private void txtNominativo_KeyDown(object sender, KeyEventArgs e)
    {
        CercaCliente();
    }

如何以更好的模式编写此代码?感谢

2 个答案:

答案 0 :(得分:0)

您可以选择两种方法,这取决于您准备做什么类型的工作......

首先绑定事件时,它自己调用方法而不是为每个方法创建处理程序方法。

目前,你正在做 -

 txtNumero.KeyDown += new txtNumero_KeyDown;
 ..
 ..
 txtNote.KeyDown += new txtNumero_KeyDown;

然后在你的方法中你称之为常用方法' CercaCliente()'。您可以直接使用func委托给您打电话。 e.g。

 txtNumero.KeyDown += (o,e)=>CercaCliente();
 ..
 ..
 txtNote.KeyDown += (o, e)=>CercaCliente();

OR

您可以创建自定义控件,从文本框派生,您可以在那里处理它。

答案 1 :(得分:0)

添加此常用方法

private void HandlerMethod(object sender, EventArgs e)
{
    CercaCliente();
}

然后在表单内加载将此处理程序方法附加到所有事件

this.txtNominativo.KeyDown += HandlerMethod;
this.txtNote.KeyDown += HandlerMethod;
this.txtNumero.KeyDown += HandlerMethod;