private void ProgressInfo_ProgressChanged(object sender, ListOfWebsiteInfo e) { progressBar1.Value = e.Progress; //List<WebsiteInfo> result = new List<WebsiteInfo>(); //result.AddRange(e.WebSiteInfos); //result.Add(new WebsiteInfo() { ContentLength = 20, URL = "Test1", WebsiteContent = "Test1" }); //PrintContentInTextBox(result); }
public async Task <List <WebsiteInfo> > DownLoadWebsiteContentAsyncWithCallBack(List <WebsiteInfo> urls, IProgress <ListOfWebsiteInfo> progressedURLs) { WebClient httpClient = new WebClient(); List <WebsiteInfo> list = new List <WebsiteInfo>(); ListOfWebsiteInfo listOfWebsiteInfo = new ListOfWebsiteInfo(); foreach (WebsiteInfo item in urls) { item.WebsiteContent = await httpClient.DownloadStringTaskAsync(new Uri(item.URL)); item.ContentLength = item.WebsiteContent.Length; list.Add(item); listOfWebsiteInfo.WebSiteInfos = list; listOfWebsiteInfo.Progress = (list.Count * 100) / urls.Count; progressedURLs.Report(listOfWebsiteInfo); } return(list); }