我正在尝试从执行复制的类中更新进度条
在我的副本课程中我有
public event EventHandler Copy_OnProgressChange;
private void CopyWorker_ProgressChanged(object sender, System.ComponentModel.ProgressChangedEventArgs e)
{
EventHandler handler = Copy_OnProgressChange;
if (handler != null) handler(this, e);
}
在主要班级
CopyList[i].Copy_OnProgressChange += CopyProgressMessage;
void CopyProgressMessage(object sender, EventArgs e)
{
//update progressBar with percentage
}
如您所见,我无法将ProgressChangedEventArgs中的百分比传递给eventhandler。有没有一种简单的方法来解决这个问题?
答案 0 :(得分:2)
您应该将事件更改为EventHandler<ProgressChangedEventArgs>
,以便它将使用progress属性传递派生类型。
答案 1 :(得分:2)
看起来你的事件处理程序结构不正确......它需要第二个参数:ProgressChangedEventArgs
而不是EventArgs ......
ProgressChangedEventArgs
有一个名为ProgressPercentage
的属性。