我有复制散文的事件,但我在行cp.OnCopying中遇到问题:
'cp_copying'没有重载匹配委托 System.EventHandler'System.ComponentModel.ProgressChangedEventArgs'
行cp.OnCopyingComplete:
无法隐式转换类型'System.EventHandler'System.EventArgs'' 到'CustomProses.Completedelegate'
代码:
public void SalinMultipleFile1()
{
cp.OnCopying += new EventHandler<ProgressChangedEventArgs>(cp_copying);
cp.OnCopyingComplete += new EventHandler<EventArgs>(cp_CopySucces);
cp.CustomCopy(DGVFile, tempFolder);
}
void cp_copying(object sender, ProgressEventArgs e)
{
dfe.pbPerFile.Increment(e.PercentDelta);
}
void cp_CopySucces(object sender, EventArgs e)
{
dfe.l_proses.Text = "Succes Copy";
}
class Custom Proses
Class CustomProses
{
public delegate void ProgressChangeDelegate(double Persentage, ref bool Cancel);
public delegate void Completedelegate();
public event ProgressChangeDelegate OnCopying;
public event Completedelegate OnCopyingComplete;
}
有谁知道错误所在?
答案 0 :(得分:1)
您需要将EventHandler分配更改为此类内容。
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";
}
答案 1 :(得分:0)
您的Completedelegate
没有参数并返回无效。但是您试图将cp_CopySucces
附加两个参数。
您的ProgressChangeDelegate
需要一个double
和一个bool
参数,但您尝试将其附加到cp_copying
方法,该方法需要object
和{{ 1}}作为参数。
您的方法和代理签名应匹配。错误很明显。我认为您需要阅读Delegates Tutorial