C# 从另一个窗体调用performclick(),而不生成它的实例

C# 从另一个窗体调用performclick(),而不生成它的实例,c#,winforms,visual-studio-2012,C#,Winforms,Visual Studio 2012,我的应用程序中有一个静态变量,如果该变量为真,我希望在另一个表单中执行单击,但如何以干净的方式执行此操作,而不创建该表单的实例,如下图所示: private MainForm _main 我只想在这个按钮上执行performClick操作,而不做该表单的实例 编辑: Edit_Customer mainFormChild = new Edit_Customer(); formList.Add(mainFormChild); mainFormChild.Show(); 该窗体应该有一个事件,

我的应用程序中有一个静态变量,如果该变量为真,我希望在另一个表单中执行单击,但如何以干净的方式执行此操作,而不创建该表单的实例,如下图所示:

private  MainForm _main
我只想在这个按钮上执行performClick操作,而不做该表单的实例

编辑:

Edit_Customer mainFormChild = new Edit_Customer();
formList.Add(mainFormChild);
mainFormChild.Show();

该窗体应该有一个
事件
,当它希望主窗体执行某些操作时触发该事件

public class Edit_Customer
{
    public event Action SomethingHappened;//TODO give meaningful name
}
在适当的时间触发该事件

然后,主窗体可以在创建窗体时向该事件添加一个处理程序,在该处理程序中,它可以执行它想要执行的任何操作:

Edit_Customer mainFormChild = new Edit_Customer();
mainFormChild.SomethingHappened += () => DoSomething();
mainFormChild.Show();

请给我们看更多的代码,澄清你说的是什么按钮,以及“创建该方法的实例”是什么意思。对不起,我指的是表单。这只是一个名为button_ReloadData的按钮。这两个表单之间的关系是什么。这个表单是由另一个表单创建的,本质上被视为它的“子表单”,就像弹出窗口一样,关系是颠倒的,还是什么?表单是编辑客户的表单,它是由该表单创建的。我添加了一些代码来显示表单是如何创建的。它不适合我。我得到一个错误:只有赋值、调用、递增、递减和等待“新对象”表达式可以用作指令。以及:“System.Action”是一个“类型”,但与“变量”一样使用;预期。我已经在上面的帖子中添加了我是如何做到这一点的。@user3438236您可以将这段代码复制粘贴到一个空白项目中,它将很好地编译。你一定是在做什么,而不是这里显示的。我不知道是什么错了,但我知道它起作用了。这比我想象的要容易,谢谢。我现在怎样才能启动该事件?比如:somethingOccessed()对吗?@user3438236如果附加到它们的处理程序需要在不同的时间发生,则需要第二个事件。如果您想在任何时候做多件事情,那么只需将多个处理程序附加到同一事件。@user3438236不,它不是LINQ。这是一只兰巴达;它正在定义一个匿名方法。