2011-09-15 121 views
2

我必须错过一些显而易见的东西 - 我是.NET的新手 - 多年来一直在C++/MFC中开发。如何调用/调用按钮单击事件处理程序形成另一个处理程序? (c#)

在按钮点击的事件处理程序中,我想再重新使用另一个事件处理程序/点击。但是,我似乎无法弄清楚如何做到这一点。

可能会造成麻烦的位是我想要“激发”的第二个项目的处理程序不在同一个窗体/上下文中。

看来,我应该能够调用的方法...

但我似乎并没有能够做到这一点。

这在紧凑的框架/赢手机

回答

3

你需要做以下之一:

  • 提供访问处理的含类实例(即引用该对象)
  • 充分利用处理器的静态所以任何实例都可以直接引用
  • 将异常处理程序在其他一些全局可用对象(静态,单等),这样既消费者可以用它
  • 使用提供事件汇总的框架,所以你不必担心这样的事情
1

我想一个更好的解决办法是让原始事件处理程序中完成的工作被包含在函数中重构你的代码。

然后原始处理程序和新处理程序都调用相同的函数。

+0

虽然这可能是有条件的。在事件1提出后,他总是想要举办第二场比赛可能并非如此。 – skaz

+0

这两者不必一起调用 - 其中一个,两者都不可以在任何适当条件下都无权调用该函数。或者我错过了什么? – Widor

2

您如何将通用代码分解为私有方法?然后你可以从这两个处理程序调用该方法。

0

在事件处理函数1中,只提出事件处理函数2“正在侦听”的事件。所以在事件处理程序1中,放入OnEvent()。请注意,事件处理程序2必须已经连接起来以收听事件。

如果您展示更多代码,我可以更具体地说话,但这可能已足够。

0

我的无知。我只是不知道其他处理程序。这是一个简单的问题要解决 - 我只是让处理程序对处理第二个事件的对象/窗体可见,并且很容易触发其他事件。

相关问题