如何给事件处理程序传递参数

disheiuy 2007-08-22 01:44:41
请问大家:
我有一个简单的窗口,其中的一个按钮的单击事件的处理程序要处理其他两个对象中的成员,那这两个对象要如何传递给事件处理程序呢,事件处理程序不是只接受两个参数吗?
不好意思,我是菜鸟刚来,没有多少分,请大家帮下忙好吗?
...全文
205 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
disheiuy 2007-08-27
  • 打赏
  • 举报
回复
虽然我看不懂,不过谢谢大家
北京的雾霾天 2007-08-22
  • 打赏
  • 举报
回复
你可以这样来做:
public class MEventArgs : EventArgs
{
private object m_SomePara;

public MEventArgs(object para)
{
this.m_SomePara = para;
}
public object SomePara
{
get { return m_SomePara; }
set { m_SomePara = value; }
}
}
public event EventHandler<MEventArgs> MEvent;
private void button2_Click(object sender, EventArgs e)
{
this.MEvent += new EventHandler<MEventArgs>(Form1_MEvent);
if (this.MEvent != null)
{
MEventArgs args = new MEventArgs(1234);
this.MEvent(this, args);
}
}

void Form1_MEvent(object sender, Form1.MEventArgs e)
{
Console.WriteLine(e.SomePara);
}
disheiuy 2007-08-22
  • 打赏
  • 举报
回复
各位高手,类库里是如何定义的通过单击鼠标来引发Click事件啊?
disheiuy 2007-08-22
  • 打赏
  • 举报
回复
那事件还是用单击事件可以吗?
火电 2007-08-22
  • 打赏
  • 举报
回复
委托!搭配事件实现

delegate
event

去www.baidu.com www.google.com 搜索吧

关键字 .net 使用 委托
北京的雾霾天 2007-08-22
  • 打赏
  • 举报
回复
是的,Click事件是系统定义好了,所以你不能通过这个Click的参数e来传递数据。

要想通过事件参数传递,这个事件最好是自定义的,也就是说你要自定义一个事件及事件参数才可以。
disheiuy 2007-08-22
  • 打赏
  • 举报
回复
可是Click事件不是类库里已经定义好了吗,我不太明白,可以说得细点吗,谢谢大家!
北京的雾霾天 2007-08-22
  • 打赏
  • 举报
回复
public event EventHandler<myEventArgs> myEvent;

北京的雾霾天 2007-08-22
  • 打赏
  • 举报
回复
这样的参数信息只能在自定义参数才可以传递,且事件也要自定义的。比如:

class myEventArgs:EventArgs
{
...
}

public EventHandler<myEventArgs> myEvent;

ztenv 2007-08-22
  • 打赏
  • 举报
回复
自定义委托,事件中想传什么参数委托中就加入什么参数

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧