Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#自定义事件不';I don’我不想使用表单,部分类_C#_.net_Winforms_Events - Fatal编程技术网

C#自定义事件不';I don’我不想使用表单,部分类

C#自定义事件不';I don’我不想使用表单,部分类,c#,.net,winforms,events,C#,.net,Winforms,Events,我正在创建一个应用程序,有一个类执行一些后台操作,完成所有操作后,将使用事件通知父对象。要提供事件功能,我使用以下代码: public delegate void ShopStateChangedEventHandler(object sender, QuantityManagerEventArgs ea); public event ShopStateChangedEventHandler ShopStateChanged; protected virtual void WhenShopS

我正在创建一个应用程序,有一个类执行一些后台操作,完成所有操作后,将使用事件通知父对象。要提供事件功能,我使用以下代码:

public delegate void ShopStateChangedEventHandler(object sender, QuantityManagerEventArgs ea);

public event ShopStateChangedEventHandler ShopStateChanged;

protected virtual void WhenShopStateChanged(QuantityManagerEventArgs ea)
{
    if (ShopStateChanged != null)
    {
        ShopStateChanged(this, ea);
    }
}
当我将这段代码用于我创建的类时,它在所有情况下都运行良好,今天我需要将一些定制事件添加到我的应用程序中的一个表单中。不幸的是,我得到了一个生成错误,编译器无法在表单中找到ShopStateChangedEventHandler,该表单是自定义事件表单的父级,错误是关于添加侦听器的行

qmgr.ShopStateChanged += new ShopStateChangedEventHandler(qmgr_ShopStateChanged);
我真的不知道在哪里可以找到这个错误的来源,而在我使用这段代码的所有其他类中都可以正常工作,我怀疑是因为我试图添加自定义事件的类继承自表单,还是因为它是部分类。至于现在,如果要解决这个问题,我还远远处于困境之中,我不知道如何解决它

我希望您能建议我做什么,或者如何修改我的代码,使其与表单一起工作

提前谢谢 mth

编辑

错误为CS2046 找不到类型或命名空间名称“type/namespace”(是否缺少using指令或程序集引用?)

所有类和表单都属于同一名称空间

至于qmgr\u shopstate,现在它只是一个空方法

    void qmgr_ShopStateChanged(object sender, QuantityManagerEventArgs ea)
    {

    }

qmgr是包含自定义事件代码的表单实例,qmgrqmgr\u ShopStateChanged以及创建侦听器和产生问题的代码,属于应用程序的主要表单(frmMain

直接在任何类之外的命名空间上声明委托。

您会遇到什么错误?还可以显示qmgr\u ShopStateChanged吗?此方法在哪里??