VB.net DownloadDataAsync到MemoryStream不起作用

时间:2019-02-23 10:41:42

标签: vb.net bitmap webclient memorystream

我有以下代码将照片从互联网直接加载到我的图片框(从内存中):

PictureBox1.Image = New Bitmap(New IO.MemoryStream(New Net.WebClient().DownloadData("LINK")))

这里的问题是下载WebClient时我的应用程序冻结,所以我认为我会使用DownloadDataAsync

但是,使用此代码根本不起作用:

PictureBox1.Image = New Bitmap(New IO.MemoryStream(New Net.WebClient().DownloadDataAsync(New Uri("LINK"))))

它返回错误“表达式不产生值”

1 个答案:

答案 0 :(得分:1)

错误消息指出,您不能简单地将DownloadDataAsync作为MemoryStream参数传递,因为DownloadDataAsync是Sub,而DownloadData是返回{{1}的函数}。

要使用Bytes(),请查看以下示例代码:

DownloadDataSync

下面是事件处理程序:

Dim wc As New Net.WebClient()
AddHandler wc.DownloadDataCompleted, AddressOf DownloadDataCompleted
AddHandler wc.DownloadProgressChanged, AddressOf DownloadProgressChanged ' in case you want to monitor download progress

wc.DownloadDataAsync(New uri("link"))