从另一个表单调用performclick()而不创建它的实例

时间:2014-04-09 18:48:55

标签: c# winforms visual-studio-2012

我的应用程序中有一个静态var,如果这个var是真的,我想在另一个表单中执行一次单击,但是我怎样才能以一种干净的方式执行此操作而不需要像这样创建该表单的实例:

private  MainForm _main

我只想在没有制作该表单实例的情况下执行performClick。

编辑:

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

1 个答案:

答案 0 :(得分:1)

该表单应该有event,当它希望主表单执行某些操作时它会触发。

public class Edit_Customer
{
    public event Action SomethingHappened;//TODO give meaningful name
}

在适当的时间解雇该事件。

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

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