Field System.MulticastDelegate._invocationCount is not avail



我尝试使用从usercontrol到表单的事件,但是当我以表单构造函数创建它时,我就会出现问题。我不知道哪里失败了。有我的代码。

usercontrol

public GameField()
    {
        InitializeComponent();
        button.Click += Button_Clicked;
    }
public event EventHandler ButtonClicked;
private void Button_Clicked(object sender, EventArgs e)
    {
        if (this.ButtonClicked != null) this.ButtonClicked(sender, e);
    }

形式

GameField gameField = new GameField(); //Instance of the derived class UserControl       
    public Form1()
    {            
        InitializeComponent();
        gameField.ButtonClicked += new EventHandler(this.btn_Click);
    }
    private void btn_Click(object sender, EventArgs e)
    {
        throw new NotImplementedException();
    }

有一个问题在此处输入图像描述

我认为您想订阅Button_Clicked而不是ButtonClicked中的CC_2。

button.Click += Button_Clicked;

编辑

我看到,我有一个预感,您有两个GameField实例。您通过表单设计师添加的一个,可能名为gameField1,以及您在表单中添加的代码中添加的名为gameField

如果打开Form1.Designer.cs,您可以在其中看到gameField1(或通过设计师添加时给它的任何名称)?

您可以尝试以下操作:

gameField1.ButtonClicked += new EventHandler(btn_Clicked); // name can be other than gameField1, gameField1 is just the automatically generated name by VS

相关内容

  • 没有找到相关文章

最新更新