C# 事件处理程序在委托类型中引发错误?

C# 事件处理程序在委托类型中引发错误?,c#,delegates,event-handling,C#,Delegates,Event Handling,我有复制过程的事件,但在cp.OnCopying行中有一个问题错误: “cp_复制”与委托匹配时没有重载 System.EventHandler'System.ComponentModel.ProgressChangedEventArgs' 行内cp.OnCopyingComplete: 无法隐式转换类型“System.EventHandler”System.EventArgs“” 至“CustomProsses.Completedelegate” 代码: 有人知道错误在哪里吗?您的Comple

我有复制过程的事件,但在cp.OnCopying行中有一个问题错误:

“cp_复制”与委托匹配时没有重载 System.EventHandler'System.ComponentModel.ProgressChangedEventArgs'

行内cp.OnCopyingComplete:

无法隐式转换类型“System.EventHandler”System.EventArgs“” 至“CustomProsses.Completedelegate”

代码:


有人知道错误在哪里吗?

您的
Completedelegate
不接受任何参数并返回void。但是您正在尝试将其附加到带有两个参数的
cp\u copycsucces

您的
ProgressChangeDelegate
接受一个
double
和一个
bool
参数,但您正试图将其附加到
cp\u copying
方法,该方法将
对象
ProgressEventArgs
作为参数


您的方法和代理签名应该匹配。顺便说一下,错误是显而易见的。我认为您需要阅读您需要将EventHandler分配更改为类似的内容

cp.OnCopying += cp_copying;
cp.OnCopyingComplete += cp_CopySucces;
EventHandler还需要精确匹配事件,因此将EventHandler更改为:

void cp_copying(double value, ref bool e)
{
    //dfe.pbPerFile.Increment(e.PercentDelta);
}

void cp_CopySucces()
{
   // dfe.l_proses.Text = "Succes Copy";
}
cp.OnCopying += cp_copying;
cp.OnCopyingComplete += cp_CopySucces;
void cp_copying(double value, ref bool e)
{
    //dfe.pbPerFile.Increment(e.PercentDelta);
}

void cp_CopySucces()
{
   // dfe.l_proses.Text = "Succes Copy";
}