[英]add extra parameter to ProgressChanged event in C#4
Here is my code (Simple Downloader): 这是我的代码(简单下载器):
public void DownloadFile(string urlAddress, string location)
{
using (webClient = new WebClient())
{
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
Uri URL = urlAddress.StartsWith("http://", StringComparison.OrdinalIgnoreCase) ? new Uri(urlAddress) : new Uri("http://" + urlAddress);
try
{
webClient.DownloadFileAsync(URL, location);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
& Here is my question: &这是我的问题:
How to add extra parameter ( int RowNumber
) to my ProgressChanged
event? 如何在我的
ProgressChanged
事件中添加额外的参数( int RowNumber
)? I mean like this: 我的意思是这样的:
private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e, int RowNumber)
{
// Other codes here
}
& Here is the error that VS2010 gives me: &这是VS2010给我的错误:
No overload for 'ProgressChanged' matches delegate 'System.Net.DownloadProgressChangedEventHandler'
'ProgressChanged'没有重载匹配代表'System.Net.DownloadProgressChangedEventHandler'
should I override DownloadProgressChangedEventHandler
?! 我应该重写
DownloadProgressChangedEventHandler
吗? how?! 怎么样?!
Thanks for helping me out. 谢谢你的协助。
You should change this: 您应该更改此:
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
with: 有:
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler((sender, e) => ProgressChanged(sender, e, RowNumber));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.