在窗体中覆盖事件处理程序

时间:2011-04-28 19:41:42

标签: c# winforms

您好我正在使用c#开发一个Windows窗体应用程序,我想知道在事件方法中是否有可能点击有3个这样的参数

private void cedulaTextBox_OnClick(object sender, EventArgs e, KeyEventArgs ke)

或者我们需要一直声明我们的方法

private void nombreTextBox_TextChanged(object sender, EventArgs e)

感谢您的帮助

3 个答案:

答案 0 :(得分:5)

没有。 EventHandler<T>只有发件人选项和EventArgs个选项。如果您正在撰写自己的活动,为什么不推出自己的EventArgs

答案 1 :(得分:3)

您的事件处理程序需要匹配它正在处理的事件。如果你想拥有一个处理多种不同类型事件的事件处理程序,那就做一点重构......

private void cedulaTextBox_OnClick(object sender, EventArgs e)
{
   sharedHandler( sender, null, e );
}

private void nombreTextBox_TextChanged(object sender, EventArgs e)
{  
  sharedHander( sender, e, null );
}

private void sharedHandler( object sender, EventArgs textChangedArgs, EventArgs clickedArgs )
{
  ...
}

答案 2 :(得分:0)

请参阅此问题的已接受答案

Sending My Own Arguments To A Event Handler?