如何从另一个处理程序调用/调用按钮单击事件处理程序?(c#)

本文关键字:程序 调用 事件处理 单击 另一个 处理 按钮 | 更新日期: 2023-09-27 18:08:36

我一定错过了一些明显的东西-我是。net新手-多年来一直在c++/MFC中开发。

在按钮单击的事件处理程序中,我想然后重用另一个事件处理程序/单击。然而,我似乎不知道该怎么做。

可能导致问题的位是我想要"触发"的第二个项的处理程序不在同一形式/上下文中。

似乎我应该能够调用方法…

但是我似乎做不到。

这是在compact framework/Win Mobile

如何从另一个处理程序调用/调用按钮单击事件处理程序?(c#)

您需要执行以下操作之一:

  • 提供对包含类实例的处理程序的访问(即对该对象的引用)
  • 将处理程序设置为静态,以便任何实例都可以直接引用它
  • 将处理程序放在其他全局可用的对象(静态,单例等)中,以便两个消费者都可以使用它
  • 使用一个提供事件聚合的框架,这样你就不必担心这些事情了

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

我认为更好的解决方案是重构代码,以便将原始事件处理程序所做的工作包含在函数中。

则原处理程序和新处理程序都调用同一个函数

在事件处理程序1的内部,只引发事件处理程序2正在"监听"的事件。在事件处理器1中,放入OnEvent()。注意,事件处理程序2必须已经连接起来以侦听事件。

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

我的无知。我只是没办法看到另一个联络人。这是一个要解决的简单问题——我只是使处理第二个事件的处理程序对对象/表单可见,并且很容易触发另一个事件。